我用scanf设置输入三个数,运行时输入的数却不受限制,我没有给abc赋值,b输出却是16
**输入三个数,运行时输入的数却不受限制 ** : 只录入了前3个数
这你是一行输入的当然没有限制啊,你如果输入1个回车然后在输入下一个就会在输完第三个后截止并输出
Q1: 用scanf设置输入三个数,运行时输入的数却不受限制
A1: 程序只读入三个数,其他输入的数字会放入缓冲区,在这个程序中没有影响
Q2: 没有给abc赋值,b输出却是16
A2: 局部变量在未初始化情况下,初值为随机值,具体实现由编译器决定。
如VC/VS等编译器,会将初始值值为0xCCCCCCCC, 而GCC等编译器则是不可预知的随机值。