我正在做一个赋值,但我不知道如何让代码运行到数字2147483647,然后让它停止并返回一个消息,如“invalid”等?而且它一直返回的行与if else说,需要有一个括号之前?
#include <stdio.h>
#include <math.h>
int main()
{
int result;
int a, x, n;
printf("Enter values of a: ");
scanf("%d ", &a);
printf("and x: ");
scanf("%d ", &x);
printf("Enter the exponent value: ");
scanf("%d ", &n);
if (result < 2147483647)
{
result = a + pow(x,n);
}
printf("\n%d", result);
if else {
printf("Invalid");
}
return 0;
}
我试着修复它几次,但我只有一个第一年的c,所以我不rlly得到它tbh:/
1条答案
按热度按时间4c8rllxm1#
代码评审:
1.需要初始化。
1.不需要初始化(使用当前代码结构),但推荐良好实践。
result
值从何而来?1.您希望
result
在这里有什么值?在这一行之前是否有缺失的代码?1.在
printf("\n%d", result);
是否应仅在if (result < 2147483647)
运行时运行,因为它当前将始终运行?1.这是不正确的-请重新检查您对
if ... else...
语法的理解。1.请记住,
{
和}
用于显示代码块的开始和结束。如果{
前面的行是一个没有;
行终止符的逻辑检查,则在逻辑检查通过时将运行该代码块。我怀疑你的
result
值只是要由result = a + pow(x,n);
计算和设置,你希望检查计算的结果,然后打印该值或“无效”。如果是这种情况,请记住代码是从上到下按顺序运行的,即使指令要求您重新运行某些代码,也是如此。因此,您应该在检查
result
的值之前设置它的值。