Я работаю над кодом, и я попытался ввести символ вместо целого числа, и результат был «2», независимо от введенного символа, является ли это неопределенным поведением или чем-то еще?Ввод символа с помощью scanf и сохранение его в int может привести к неопределенному поведению?
Код:
#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,.....
результат был тот же. Что это?
В чем смысл добавления: 'f1 (t) + f2()'? – Michael
@ Майкл объединяет вывод на экране ... – A4L
@ A4L Uh ... это не так, как это работает. – thejh