我正在编写代码,我尝试输入一个字符而不是整数,结果是“2”,不管我输入的字符是什么,是未定义的行为还是其他什么?
编码:
#include <stdio.h>
int f1(int n);
int f2(void);
int main(void)
{
int t;
printf("Enter a number: ");
scanf("%d", &t);
/* print proper message */
t ? f1(t) + f2() : printf("zero entered.\n");
return 0;
}
int f1(int n)
{
printf("%d ", n);
return 0;
}
int f2(void)
{
printf("entered.\n");
return 0;
}
当我输入时a
,结果是“2输入”,当我输入时g
结果是“2输入”,当我输入时i,h,k,.....
结果是一样的。那是什么?