【发布时间】:2016-06-10 19:02:06
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
//A simple program that asks for an integer and prints it back out.
int main()
{
int a;
printf("Type an integer: ");
scanf("%d",&a);
printf("The integer you typed is: %d",a);
}
如果用户输入一个字符,例如X,那么出于某种原因,输出将始终为 64。为什么会这样?
【问题讨论】:
-
@CherubimAnand:这不是 ASCII 的东西。 X 甚至不是 ASCII 64。
-
@user2357112 是的……它未定义的行为……我弄错了
-
除了 Sourav 所说的,验证输入(或函数中的参数)总是一个好主意。如果收到的不是您想要的,请给出警告或错误消息。这对于帮助调试更健壮的问题特别有用。