我是首發,我已經寫了代碼:在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'之外定義。這個應用程序中的任何函數都可以訪問它們,這是一個不好的做法 –