你的程序流程是这样的:
①
while((c=getchar()) != EOF)putchar(c)
这个是一个循环,会要求你不停输入,直到你键入ctr-z(Windows上,如果是xNix则是Ctr-D),这个循环才会终止;
② 上面的循环终止后,你最后一次输入的字符,才会被输出到stdout(这里即是屏幕)上面。
因此如果你希望每键入一个字符就立刻回显到屏幕上,你应该:
while((c=getchar())!= EOF){
putchar(c)
fflush(stdout)
}
goto
是转向语句,按其英文含义就可理解
用法
标号:
语句;
go
to
标号;
或者
go
to
标号;
标号:
语句;
标号和goto必须包括处于同一个函数内
标号的写法跟变量名一样不能和关键词相同,后面必须带冒号
当程序执行到go
to这个语句时,程序就转跳到标号后面的语句去了
例
int
x=1
语句1:
x=x+1
if(x<100)
goto
语句2
cout<<"x=100"<<endl
当x小于100,执行if
后面的goto语句,于是转跳到语句2处执行语句1后面的语句x=x+1,接着if语句,
如此反复。。。。。。,直到x=100
if语句括号表达式为假不执行后面的goto语句,
于是跳过执行cout语句输出x=100这几个字符