我最近开始学习C
编程.作为练习的一部分,我使用了以下程序:
#include<stdio.h>
int main() {
int a;
int b;
int c;
a = 350 ;
if (a >= 400) {
b = 800 ;
c = 500 ;
}
printf("%d %d\n", b,c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
因为a = 350
我得到32767 0
了输出.因为a = 401
我得到了预期的输出.
请帮我解决相关问题.提前致谢
这没什么意外的.如果a=350
,那么你的变量b和c没有被初始化; 因此它们包含"随机信息"; 从打印出来的时候,你会得到垃圾.这可能是你锻炼的目标.
编辑更详细一点:
int b;
Run Code Online (Sandbox Code Playgroud)
b现在包含垃圾; 因为你没有给一个值b
; 它只包含分配此空间时意外出现在内存中的值.如果你这样做:
b = 800;
Run Code Online (Sandbox Code Playgroud)
现在b包含值800 ...(但是当a = 350时你没有进入代码的这一部分; b的值仍未定义)