当我编译这个小程序而不是显示" num1:7
,num2: 2
"时,它显示" num1:-1218690218
,num2:-1217453276
".我想我没有指定程序应该显示什么,所以它只是给我int范围.对不起.
#include <stdio.h>
main() {
int num1 = 7, num2 = 2;
printf("num1:%d , num2:%d\n"), num1, num2;
}
Run Code Online (Sandbox Code Playgroud)
编辑:非常感谢你!练习的目的是纠正语法错误,但每当我编译它时,我都没有得到任何警告.这个括号很容易错过.
你把右括号之前 num1
和num2
,使它们不会被传递到printf
.你需要改变这个:
printf("num1:%d , num2:%d\n"), num1, num2;
Run Code Online (Sandbox Code Playgroud)
对此:
printf("num1:%d , num2:%d\n", num1, num2);
Run Code Online (Sandbox Code Playgroud)
是的,括号是唯一的变化,但这是至关重要的.
小智 5
您正在使用逗号运算符而不是函数调用的参数.printf
将输出垃圾值,但它也可能已崩溃.
所以它应该是:
printf("num1:%d , num2:%d\n", num1, num2);
Run Code Online (Sandbox Code Playgroud)
注意)
-character.