gpt4 book ai didi

c - if 语句中无法识别的变量

转载 作者:太空宇宙 更新时间:2023-11-04 07:28:45 25 4
gpt4 key购买 nike

我的程序有点问题。在我的 IF 语句中,我的变量没有被识别。

for(i=1;i<10;i++){
printf("%d:", i);

for(j=0;pom[j]!='\0';j++){
if(pom[j]==X) star++;
}
X++;
printf("%d", star);
printf("\n");
star=0;
}

变量 X 在此函数中定义为 int X=0;。它应该是 1 - 9 之间的一个数字,但它不会通过代码更改它的值,即使我在 for 循环之后有 X++; 也是如此。

当我将它改写为 if(pom[j]=='1') star++;if(pom[j]=='2') star++ 时,这段代码运行良好; 或我想要的间隔中的任何数字,所以我认为问题出在我的 if 语句语法中。有什么想法吗?感谢您的帮助。

最佳答案

在您的 if 语句中,您正在比较一个 char(我假设 pom 是一个 char)和一个 int。ASCII 代码'1' 的是整数 49,而不是 1。你可以这样做:

if (pom[j] == (x + 48))

另一种方法是声明:

char X = '0';

阅读ASCII table

关于c - if 语句中无法识别的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com