#include <stdio.h>
int main() {
int n;
scanf("%c", &n);
printf("%d\n", n == 97 ? 1 : 0);
printf("%c\n", n);
printf("%d", n);
}
这是输入与输出
麻 烦 大 神 帮 忙 解 释 一 下
十 分 感 谢
#include <stdio.h>
int main() {
int n;
scanf("%c", &n);
printf("%d\n", n == 97 ? 1 : 0);
printf("%c\n", n);
printf("%d", n);
}
这是输入与输出
麻 烦 大 神 帮 忙 解 释 一 下
十 分 感 谢
假设当前系统为32位,则int 为4字节,char为1字节。
scanf输入a, 即97,则int前3个字节不变,第4个字节赋值为97,因n未初始化所以前3个字节是随机的。
(不同编译器由于大小端等问题略有差异)
解决方法:初始化int n= 0;