Member 13922884 Ответов: 1

Почему 2-Я программа должна давать неизвестное значение для целого числа a?


Main ()
{
 Char ch = 'A';                 
 ch = ch+1;
 printf ("%c", ch);
 Int a = ch;
 Printf ("%d", a);
}
Выход:B66

Main ()
{
 Char ch = 'A';
 ch = ch+1;
 Int a = printf ("%c", ch);
 Printf ("%d", a);           
}
Выход:B1

почему 2-Я программа должна давать неизвестное значение для целого числа a?

Что я уже пробовал:

Возвращаемый тип функции printf-целое число. Почему я не могу сохранить его значение в int a?

1 Ответов

Рейтинг:
12

Kornfeld Eliyahu Peter

Прежде всего - C/C++ чувствителен к регистру, что означает, что ваш код никуда не идет, как он есть...

Я предполагаю, что вы понимаете, почему первый фрагмент печатает "B66", поэтому я объясняю только второй...

printf - при успешном выполнении - возвращает количество напечатанных символов, в вашем случае 1, так что a будет 1, и это даст вам "B1"