scanf
为啥跟我想的不一样,跑出来不能计算,求助大佬#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d %d ", &num1, &num2);
int sum = num1 + num2;
printf("%d\n", sum);
return 0;
} 你好,根据你提供的代码,我看到了一个问题。
在你的scanf函数中,你在格式字符串后面加了一个空格。这个空格会导致scanf无法正确读取到输入的值。所以你可以将scanf函数的格式串改为"%d %d",去掉最后的空格。
修改后的代码如下:
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d %d", &num1, &num2);
int sum = num1 + num2;
printf("%d\n", sum);
return 0;
}
这样,你就可以正常运行并计算两个数的和了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 jackz007 于 2024-1-5 16:34 编辑
把这一句
scanf("%d %d ", &num1, &num2);
改为:
scanf("%d%d" , &num1 , &num2);
建议复制粘贴到源代码文件中 #include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d %d ", &num1, &num2);
int sum = num1 + num2;
printf("%d\n", sum);
return 0;
}
首先,把你的代码贴下来,放到我的terminal来运行。
➜desktop open -a TextEdit test.c
➜desktop gcc test.c
➜desktop ./a.out
可以编译,没有结果。
这是我修改的代码,你可以参考下。
#include <stdio.h>
int main()
{
int num1,num2,sum = 0;
printf("请输入num1和num2的值:");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("%d\n", sum);
return 0;
}
有几个问题:
1.num1、num2不要给初始值,因为你要输入数进去。
2. scanf("%d %d ", &num1, &num2); 这个%d 后面有一个空格。
3.sum作为累加器,给个初始值为0。
4.你这没有提示用户输入,大部分新手会误以为编译器没有执行。建议给输入提示。 使用scanf的时候,输入方式与scanf函数引号里的格式相同,即<数字><空格><数字><空格>,但由于scanf认为空格为分隔符,即空格后面一定有数,
所以,你要么去掉最后的空格,要么输入<数字><空格><数字><空格><数字><回车> 可以运行啊
页:
[1]