2013-09-06 4 views
0

Каково значение внешнего элемента putchar (c)?Какова ценность putchar (c) здесь '_'?

main() 
{ 
    int c; 

    while (c = getchar() != EOF) { 
    printf("printf c_inloop :%d\n",c); 
    printf("Putchar c_inside: "); 
    putchar(c); 
    printf("\n\n"); 
    } 

    putchar(c); 
    printf("printf c_outloop %d",c); /*outside loop*/ 

} 

Когда я запускаю программу, скажем, "й" (wtq) и нажмите клавишу ввода в ЦМД (Windows):

th 
printf c_inloop :1 
Putchar c_inside:(gives me a smileyface emoticon) 

printf c_inloop :1 
Putchar c_inside:(gives me a smileyface emoticon) 

printf c_inloop :1 
Putchar c_inside:(gives me a smileyface emoticon) 


^Z (Ctrl + Z) 
printf c_outloop 0 

Обратите внимание на пробел перед printf c_outloop 0. Значение putchar(c) Пробел?

ответ

1

Когда вы выходите из цикла, значение c равно EOF, что не является допустимым значением символа (поэтому оно используется для указания конца файла). Нет смысла передавать его putchar.

+0

так почему же это место там? Что это символизирует? – user2282137

+0

Ничего. Это просто результат мусора от бессмысленной операции. –

+0

Значение булево, не так ли? Правда или ложь? потому что, если я удаляю скобку, значение printf_c снаружи становится равным -1, не является ли это значением EOF – user2282137

 Смежные вопросы

  • Нет связанных вопросов^_^