C语言 代码不返回整数问题之后的任何内容

7uzetpgm  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(113)

我正在做一个赋值,但我不知道如何让代码运行到数字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:/

4c8rllxm

4c8rllxm1#

代码评审:
1.需要初始化。

int result;

1.不需要初始化(使用当前代码结构),但推荐良好实践。

int a, x, n;
  1. result值从何而来?
    1.您希望result在这里有什么值?在这一行之前是否有缺失的代码?
if (result < 2147483647)

1.在

if (result < 2147483647)
 {
     result = a + pow(x,n);
 }
 printf("\n%d", result);
 if else {
     printf("Invalid");
 }

printf("\n%d", result);是否应仅在if (result < 2147483647)运行时运行,因为它当前将始终运行?
1.这是不正确的-请重新检查您对if ... else...语法的理解。

if else {
     printf("Invalid");
 }

1.请记住,{}用于显示代码块的开始和结束。如果{前面的行是一个没有;行终止符的逻辑检查,则在逻辑检查通过时将运行该代码块。
我怀疑你的result值只是要由result = a + pow(x,n);计算和设置,你希望检查计算的结果,然后打印该值或“无效”。
如果是这种情况,请记住代码是从上到下按顺序运行的,即使指令要求您重新运行某些代码,也是如此。因此,您应该在检查result的值之前设置它的值。

相关问题