TC3.0的一个非常简单的问题,不惜重金询问!

来源:百度知道 编辑:UC知道 时间:2024/09/26 10:52:57
我编了一个非常简单的程序如下
#include<stdio.h>
void main()
{
int nl , nt ,nk , c;

nl = nt = nk=0;
while (( c = getchar()) != EOF)
if ( c == '\n')
++nl;
if ( c == '\t')
++nt;
if ( c == ' ')
++nk;
printf("%4d,%4d,%4d\n", nl, nt, nk);
}(我在做K&R书上第一章的练习)
也就是统计空格,之类的东西;
我CTRL+F9后,编译没错;直接跳入黑筐(顺便问一下这黑筐专业术语是啥?)
然后我就输入,我就不知道该怎么退出来让他给我统计了;我记得输入EXIT它会退出来的,但这次输入EXIT 然后回车都没用!
谁告诉我该怎么用?
哪位大哥说一下.我用我六分之一的分悬赏!

新行Ctrl+z然后回车?

应该是判断输入结束条件的时候出错了,既然是统计字符数,并且还有统计回车的数目的话,建议你以"#"字符为结束的标志,那我的源代码是这样子的。而且c的类型应该是字符型的,这一点你没有注意到
int main()
{

int nl , nt ,nk ;
char c;

nl = nt = nk=0;
c=getchar();
while (getchar()!= '#')
{
if (c=='\r')
nl++;
if (c =='\t')
nt++;
if (c==' ')
nk++;
}
printf("回车数%4d,TAB数%4d,空格数%4d\n", nl, nt, nk);
}

#include<stdio.h>
void main()
{
int nl , nt ,nk ;
char c;

nl = nt = nk=0;
printf("按q退出");
while (( c = getchar()) != EOF)
{
if ( c == '\n')
++nl;
if ( c == '\t')
++nt;
if ( c == ' ')
++nk;
if (c=='q')
break;
}
printf("%4d,%4d,%4d\n", nl, nt, nk);
}

你把EOF改成字符'#'
然后运行的时候如果想