关于printf和char的问题
代码如下:
#include <stdio.h>
int main ( void )
{
char i ;
i = '0' ;
while(1)
{
while ( i != '1' )
{
scanf( "%c", & i );
printf( "%c", i );
}
break;
}
return 0 ;
}
写这段代码本来是想看一下,如果用scanf给一个char变量赋一个字符串的值,char变量中是字符串中的第一个字符,还是最后一个字符。比如输入“asdfghjkl”,是输出“a“还是”l”。但是我输入“asdfghjkl”后,输出的就是“asdfghjkl”。
scanf语句执行后,变量i中不只是有一个值么?为什么printf打印出了这么多字符?
谢谢指导!