学编程这么久一直都没解决的一个bug
我这个程序就是,随便输入两个数字,然后比较两个数字是不是一样,但是无论输入什么显示的结果都是两个数字不相同#include <stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
printf("请输入第一个数字");
scanf("%d", &a);
getchar();
printf("请输入第二个数字");
scanf("%c", &b);
if (a != b)
{
c = 1;
}
if (c == 1)
{
printf("两个数字完全不相同");
}
else
{
printf("两个数字完全一致!");
}
return 0;
} 本帖最后由 isdkz 于 2022-5-4 18:09 编辑
%c 是字符类型,这里会获取一个字符给 b,所以 b 就是第二个数字的第一个字符的 ascii 码,你找不出问题的时候可以加 printf 输出一下 a、b 的值来看看,然后再思考原因,把 %c 改为 %d
#include <stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
printf("请输入第一个数字");
scanf("%d", &a);
getchar();
printf("请输入第二个数字");
// scanf("%c", &b); %c 是字符类型,这里会获取一个字符给 b,所以 b 就是第二个数字的第一个字符的 ascii 码,你找不出问题的时候可以加 printf 输出一下 a、b 的值来看看,然后再思考原因,把 %c 改为 %d
scanf("%d", &b);
if (a != b)
{
c = 1;
}
if (c == 1)
{
printf("两个数字完全不相同");
}
else
{
printf("两个数字完全一致!");
}
return 0;
} scanf("%d", &b);
页:
[1]