按规矩,先上代码:
题目要求是:输一个入句子判断 空格、行数和字符数,按下ESC之后退出。
我的问题是计算机怎么判断我puts里面的句子是输入结束了,为什么是按下esc就退出了。
c=getchar()和while(c!='\033')的运行逻辑是怎么样的。非常不解!谢谢!
#include <stdio.h>
int main()
{
char c;
int a=0,b=0,d=0;
puts("please input a letter:");
c=getchar();
while(c!='\033')
{
switch(c)
{
case('\040'):
a++;
break;
case('\012'):
b++;
break;
default:
d++;
break;
}
c=getchar();
}
printf("Space=%d\tLine=%d\tLetters=%d\n",a,b,d);
}
题目要求是:输一个入句子判断 空格、行数和字符数,按下ESC之后退出。
我的问题是计算机怎么判断我puts里面的句子是输入结束了,为什么是按下esc就退出了。
c=getchar()和while(c!='\033')的运行逻辑是怎么样的。非常不解!谢谢!
#include <stdio.h>
int main()
{
char c;
int a=0,b=0,d=0;
puts("please input a letter:");
c=getchar();
while(c!='\033')
{
switch(c)
{
case('\040'):
a++;
break;
case('\012'):
b++;
break;
default:
d++;
break;
}
c=getchar();
}
printf("Space=%d\tLine=%d\tLetters=%d\n",a,b,d);
}
