【发布时间】:2022-11-27 00:36:39
【问题描述】:
我试图了解当我使用“scanf”函数时会发生什么,或者更具体地说,当我尝试使用“scanf”将字母输入 int 时会发生什么。
所以我明白当我试图将字母输入 int 时,它根本不起作用,所以我写了这个来检查发生了什么:
#include <stdio.h>
int main()
{
int num=0;
char term='a';
scanf("%d%c", &num, &term);
printf("%d%c", num, term);
return 0;
}
例如,当我的输入是“b”时,输出是“0a”,而我排除它是“0b”,因为“scanf”不会将“b”输入到 num 中,然后他将它输入到“term”中.
有人知道为什么会这样吗?我寻找答案并看到它与缓冲区相连,但我仍然不明白发生了什么。
【问题讨论】:
标签: c