(15)有以下程序 #include<stdio.h> main() { char a,b,c,d; scanf(“%c%c”,&a,&b)

2024-11-22 07:05:04
推荐回答(2个)
回答(1):

前面你也知道,回车是一个字符,这个很重要;
然后我想说明的是,getchar()函数是读取从标准输入设备(主要是键盘)的“一个字符”,注意,对具体是什么字符没有要求,就是说可以读取回车符。
所以,很显然了,按照你的输入,1赋给a,2赋给b;第一个回车赋给c,然后3赋给d;程序的输出就是依次输出1,2,然后回车(换行),然后3。
不懂的话留言咯!

回答(2):

当输入12,scanf()函数只接收了12 分别送给了变量a b,而回车则被下面的一个getchar()函数接收,故c='\n'(回车),第二次输入时,34 getchar()函数只能接收1个字符,其他的被丢弃了。所以d='3'