猿问

请问这段代码是如何实现按两次回车才出结果的?


#include<stdio.h>

int main ()

{

char i;

int a=0,b=0,c=0,d=0,x;

printf("input:");

do{

while((i=getchar()) !='\n' )

{

if (i=='#' )

++a;

else

if(i=='@')

b=b+2;

else

if(i=='T')

++c;

else

if (i=='H')

++d;

x=a+b+c+d;}}

while((i=getchar()) !='\n' );


printf("%d %d %d %d\n",a,b,c,d);

printf( "%d\n",x );

getchar();}


GODDOOGE
浏览 807回答 1
1回答

傻圆傻圆

while((i = getchar()) != '\n');  这个循环会判断输入的字符是否是回车符,如果是则结束这个循环,这就是你提问中的第一个回车符。getchar(); 这行语句会等待一个任意符号,这就是就是你提问中的第二个回车符。实际上上述两句话的真正含义是,等待一个回车符和等待一个任意字符。
随时随地看视频慕课网APP
我要回答