代码片段
```c
#include <stdio.h>
int main(void) {
short int a;
scanf("%hd", &a);
while (a != 5) {
printf("%hd\n", a);
a++;
}
return 0;
}
这段代码的输出是:
代码片段
1
1
2
3
4
我期望输出为:
代码片段
1
2
3
4
5
但是为什么输出与我期望的不同呢?
我尝试了以下方法:
- 我已经检查了代码的语法。这是正确的。
- 我在不同的编译器上运行了代码。所有编译器的输出都是相同的。
- 我尝试了不同的
a
值。对于a
的所有值,输出都是相同的。
2条答案
按热度按时间bnl4lu3b1#
我认为第一个“1”是你的输入。
我试着运行同样的代码,这就是我观察到的第一个“1”是我给出的输入,然后代码从1打印到4。
jslywgbw2#
@Red Sky是对的,第一个是你的输入,x1c 0d1x