c語言while(ch= getchar())!='\ n');
while((ch=getchar())!='
')意思就是輸入的字符不是換行符,則為真,執(zhí)行while里的語句塊。
ch=getchar(),輸入一個字符且將該值賦予給變量ch;ch=getchar())!='
'意思是ch不等于換行符。
()圓括號的優(yōu)先級>不等于。
getchar是讀入函數(shù)的一種。它從標(biāo)準(zhǔn)輸入里讀取下一個字符,相當(dāng)于getc(stdin)。返回類型為int型,為用戶輸入的ASCII碼或EOF。
擴(kuò)展資料:
基本的優(yōu)先級需要記住:
優(yōu)先級從上到下依次遞減,最上面具有最高的優(yōu)先級,逗號操作符具有最低的優(yōu)先級。
指針最優(yōu),單目運算優(yōu)于雙目運算。如正負(fù)號。
先算術(shù)運算,后移位運算,最后位運算。請?zhí)貏e注意:1 << 3 + 2 & 7等價于 (1 << (3 + 2))&7.
邏輯運算最后結(jié)合。
簡單記就是:括號> ! > 算術(shù)運算符 > 關(guān)系運算符 > && > || > 賦值運算符。
參考資料:
百度百科-運算符優(yōu)先級
相關(guān)評說:
星子縣投影: ______ While((ch=getchar())=='e')printf("*");循環(huán)體執(zhí)行次數(shù)及原因…謝謝… 首先while()中的“w”是小寫... while(語句1){語句2} 只有當(dāng)語句1為真時,才執(zhí)行語句2 對于while((ch=getchar())=='e')printf("*");只有輸入e時,才執(zhí)行語句printf("*"); 當(dāng)輸入的不是e時就會終止循環(huán). 希望有幫到你!
星子縣投影: ______ != 這在C中屬于雙目運算符,判斷前后的兩個值是否相等,相等返回1,不等返回0
星子縣投影: ______ ch=getchar&&ch!='\n' 等價于 ch= (getchar() && ch!='\n') ch 未更新.======= ch 為 0 才能結(jié)束.這樣可以結(jié)束:char ch='\n'; while( ch=getchar() && ch!='\n') {printf("%#x ",ch);}; printf("%#x ",ch);
星子縣投影: ______ 你書寫有問題吧,while條件應(yīng)該為:ch=getchar()=='A',這個就是運算符優(yōu)先級問題,1,getchar(),2,判斷輸入字符是否跟A相等,相等為1,代表ture,否則為03,將比較結(jié)果賦值給ch.所以,你不添加相當(dāng)于getchar字符為NULL.所以ch=0.
星子縣投影: ______ 因為getchar()是每次接收緩沖區(qū)的一個字符.while(ch != '\n' && ch != EOF) { if(i { str[i++]=ch; ch = getchar();//這是為了接收你輸入的下一個字符.每次接收一個.然后回到while()去判斷. } }
星子縣投影: ______ 0 次.只有當(dāng)你從第一個字符為C時才進(jìn)入循環(huán),直到不為c時跳出.你輸入'a'不等于'c',直接跳出循環(huán).圖1 圖2
星子縣投影: ______ int c; while( ( c = getchar() ) != EOF ){ printf( "\n%d, %c \n", c,c ) ; } /* end while */ 不知道是不是你要的效果
星子縣投影: ______ 呵呵,說4次的學(xué)過C語言沒? 你有三個錯誤 while((ch=getchar())=='e') printf("*");第一點, 這個while循環(huán)體中的printf語句只是一個單語句,根本就不是復(fù)合語句,加{}是多余的(這個也不叫錯誤). 第二個,'abcde'是字符串而不是自符.第三點. while是當(dāng)型循環(huán),意思是當(dāng)讀入的字符等于'e'時執(zhí)行循環(huán)體中的語句. 額,樓主忘回答您了. 這個循環(huán)語句一次都不執(zhí)行,和樓下說的一樣. 因為你輸入的abcde是字符串.getchar可讀入單行字符串.但是你判斷的是字符.所以不能執(zhí)行
星子縣投影: ______ 這是getchar的問題 在按Enter前,先把字符緩存 按Enter后一起輸出 另外有一個像你說的效果的叫g(shù)etch()
星子縣投影: ______ 一樣的啊,第一個只是把取出的字符存放在ch中,兩者沒有差別