C语言求解 main() {int a;char c1; scanf("%4d%3c",&a,&c1); printf("%d,%c\n",a,c1);}

日期:2013-05-31 21:46:30 人气:2

C语言求解 main() {int a;char c1; scanf("%4d%3c",&a,&c1); printf("%d,%c\n",a,c1);}

问题出在 "%4d%3c" ,%4d限制 int a只取了4位“1234”;char只占1B,所以只取了‘5’,这个5是作为字符型输入的,剩余内容还在输入缓冲区里,如果这时你再进行输入操作,可能陷入死循环; scanf语句“ ”中除了格式占位符外最好不要加其他任何东西,更不要对输入进行限制,因为在输入缓存区被读空前进行输入操作一般都会出错
    A+
热门评论