我是首发,我已经写了代码:在while循环添加break语句在使用getchar
#include<stdio.h>
char c;
char a[100]={0};
int i;
int main(void)
{
while(1)
{
i=0;
while(1){
if((c=getchar())!='\n'){
a[i]=c;
i++;
} else {
break;
}
}
printf("%s\n",a);
}
return 0;
}
,现在我有我想添加一个break语句的想法,当我键入q,程序将打破。所以我的新方案是:
#include<stdio.h>
char c;
char a[100]={0};
int i;
int main(void)
{
while(1)
{
i=0;
while(1){
if((c=getchar())!='\n'){
a[i]=c;
i++;
} else {
break;
}
}
printf("%s\n",a);
if(getchar()=='q')break; /*i added this*/
}
return 0;
}
我知道是因为的getchar()冲突的代码是不正确的,我该怎么办,要添加键入q break命令。非常感谢。
从学习如何避免在不需要时使用'全局变量'开始 –
@SeekAddo你是什么意思*全局*?这些变量具有内部联系,所以它们对其他模块不可见...您介意告诉我在[C标准](http://www.iso-9899.info/n1570.html)中我可以找到的位置有关*全局变量*的更多信息?我想了解如何声明和使用它们... – Sebivor
@Seb全局变量可以从应用程序中的任何位置访问。有些人可能认为他们是不好的做法,因为这些变量可以通过其他功能进行修改。 'char c; ''char a [100] = {0};''int i;'全部在'main'之外定义。这个应用程序中的任何函数都可以访问它们,这是一个不好的做法 –