while((ch=getcher())!='\n') 是什么意思啊 編程語(yǔ)言一共有多少種?
首先ch = getchar() 是賦值語(yǔ)句,將從屏幕輸入的一個(gè)字符賦值給ch;
其次判斷輸入的字符即ch的值是否為'\n'(即回車(chē)),如果是則退出循環(huán),否則進(jìn)入循環(huán),執(zhí)行循環(huán)體中的內(nèi)容。
簡(jiǎn)單說(shuō)就是輸入回車(chē)之前的字符
回車(chē)后輸入結(jié)束
如果輸入的不是回車(chē)就執(zhí)行循環(huán)程序,如果輸入了回車(chē)就跳出循環(huán)
如果輸入的不是回車(chē)就執(zhí)行循環(huán)程序,如果輸入了回車(chē)就跳出循環(huán)
可以這樣做,每讀一個(gè)數(shù)之后用一個(gè)ch來(lái)讀空格,如果ch最后讀到了換行,那就結(jié)束程序~~
int main(void)
{
int i,c=0,ch;
do{
scanf("%d",&i);
if(i>c)
c=i;
ch=getchar();
}while(ch!='\n');/*這個(gè)地方想用輸入回車(chē)判斷輸入結(jié)束 但不知道怎么做*/
printf("The max number is %d",c);
return 0;
}
侯科13822299766: 若輸入字符B,則語(yǔ)句“while(ch=getchar()=='B');”執(zhí)行后ch的值是多少啊?要過(guò)程
郁南縣平底: ______ ch的值為"0","0"代表邏輯假值. getchar() 這個(gè)函數(shù)是從鍵盤(pán)上讀入一個(gè)字符 getchar()=='B' 是在判斷,從鍵盤(pán)上讀的那個(gè)字符是否等于'B',如果相等返回邏輯真值"1",否則返回邏輯假值"0". ch=getchar()=='B' 因?yàn)橘x值運(yùn)算低于關(guān)系...
侯科13822299766: c語(yǔ)言中如何插入是否繼續(xù)(continue?yes/no)的語(yǔ)句 -
郁南縣平底: ______ 哦 是否繼續(xù)吧...我這么理解 插入一段這樣的 printf("continue?Y/N\n"); fflush(stdin);//清空緩沖區(qū) char ch=getchar(); if(ch=='Y'||ch=='y') continue; break; 前提是程序在大循環(huán)之中,若不是可以這樣 do {......//你的程序代碼放這邊 printf("continue?Y/N\n"); fflush(stdin); char ch=getchar(); }while(ch=='y'||ch=='Y');
侯科13822299766: c語(yǔ)言編寫(xiě)一個(gè)小程序 不停的輸入(數(shù)字或字母),直到輸入'e'來(lái)結(jié)束,最 -
郁南縣平底: ______ #include<conio.h>#include<stdio.h> void main() { int c,n; n=c=0; while ( c!='e' ) { c=getche(); n++; } printf("\n%d\n",n); }
侯科13822299766: 求C語(yǔ)言編寫(xiě)的五子棋程序.
郁南縣平底: ______ #includeamp;lt;stdio.hamp;gt;nbsp;#includeamp;lt;stdlib.hamp;gt;nbsp;#includeamp;lt;graphics.hamp;gt;nbsp;#includeamp;lt;bios.hamp;gt;nbsp;#includeamp;lt;conio.hamp;gt;nbsp;#definenbsp;LEFTnbsp;0x4b00nbsp;#definenbsp;RIGHTnbsp;0x4d...
侯科13822299766: C++ 里面如何處理中英文混合的字符串啊! -
郁南縣平底: ______ char* char[] 是C++里基本的數(shù)據(jù)類(lèi)型 string 是C++里定義的一個(gè)struct體,頭文件是<string.h> CString 是C++里定義的字符串類(lèi)<CString> using namespace std; 根據(jù)個(gè)人習(xí)慣看用哪一個(gè)都可以,最好用自己熟透的一種 當(dāng)然基本的類(lèi)型沒(méi)有封裝好的類(lèi)型用起來(lái)方便 呵,代碼不寫(xiě)了,希望對(duì)你有些幫助
侯科13822299766: C語(yǔ)言題目不會(huì)做
郁南縣平底: ______ #include "stdio.h"void main(){ char ch; int a=0,b=0; while(ch!='*') { scanf("%c",&ch); if((ch>='A') && (ch<='Z') || (ch>='a') && (ch<='z')) a++; else if((ch>='0') && (ch<='9')) b++; } printf("字母有%d個(gè),數(shù)字有%d個(gè)",a,b);} #include "stdio.h...
侯科13822299766: 若變量已正確定義,在執(zhí)行以下while語(yǔ)句時(shí),輸入字符A后,ch的值是 - ----- -
郁南縣平底: ______ ch=getchar( )=='A'表示將 getchar( )=='A'將這個(gè)判斷的結(jié)果賦給ch,這個(gè)結(jié)果不成立,因此ch=0.
侯科13822299766: 編程好手來(lái) -
郁南縣平底: ______ 用C++來(lái)編 #include using namespace std; #include int main() { in...
侯科13822299766: c語(yǔ)言怎么設(shè)置只輸入Y和N有反應(yīng)而輸入其它字符不會(huì)繼續(xù)? -
郁南縣平底: ______ 這就是三種狀態(tài)了,用判斷來(lái)做,判斷兩次 比如:ch=getche(); if(ch=='Y') { //運(yùn)行輸入 Y的情況 } else if (ch=='N') { //運(yùn)行輸入 N的情況 } else { //運(yùn)行輸入別的字符的情況,或啥也不做 }
侯科13822299766: C語(yǔ)言如何顯示密碼效果
郁南縣平底: ______ 用getche(),是不等待回車(chē),立即讀取. #include <stdio.h> #include <conio.h> int main() { char pw[64],ch; int i=0; while((ch=getche()) != '\n') { pw[i++]=ch; printf("\b"); //后退一格 printf("*"); } pw[i]='\0'; puts(pw); return 0; }
其次判斷輸入的字符即ch的值是否為'\n'(即回車(chē)),如果是則退出循環(huán),否則進(jìn)入循環(huán),執(zhí)行循環(huán)體中的內(nèi)容。
簡(jiǎn)單說(shuō)就是輸入回車(chē)之前的字符
回車(chē)后輸入結(jié)束
如果輸入的不是回車(chē)就執(zhí)行循環(huán)程序,如果輸入了回車(chē)就跳出循環(huán)
如果輸入的不是回車(chē)就執(zhí)行循環(huán)程序,如果輸入了回車(chē)就跳出循環(huán)
可以這樣做,每讀一個(gè)數(shù)之后用一個(gè)ch來(lái)讀空格,如果ch最后讀到了換行,那就結(jié)束程序~~
int main(void)
{
int i,c=0,ch;
do{
scanf("%d",&i);
if(i>c)
c=i;
ch=getchar();
}while(ch!='\n');/*這個(gè)地方想用輸入回車(chē)判斷輸入結(jié)束 但不知道怎么做*/
printf("The max number is %d",c);
return 0;
}
linux段錯(cuò)誤
首先 要明白一點(diǎn),任何的段錯(cuò)誤,都是內(nèi)存分配有錯(cuò)誤,在編譯的時(shí)候 把 -g 加上,然后用gdb調(diào)試,看錯(cuò)誤出現(xiàn)的位置,再分析……gdb顯示第26行有錯(cuò)誤
while和do-while的使用方法
while循環(huán)開(kāi)始后,先判斷條件是否滿(mǎn)足,如果滿(mǎn)足就執(zhí)行循環(huán)體內(nèi)的語(yǔ)句,執(zhí)行完畢后再回來(lái)判斷條件是否滿(mǎn)足,如此無(wú)限重復(fù);直到條件不滿(mǎn)足時(shí),執(zhí)行while循環(huán)后邊的語(yǔ)句。簡(jiǎn)單來(lái)講就是說(shuō)while循環(huán)是先判斷后循環(huán), 判斷如果滿(mǎn)足條件進(jìn)入循環(huán) 本次循環(huán)后再次判斷 。舉個(gè)例子:do-while循環(huán)與while循環(huán)的不同在于:...
相關(guān)評(píng)說(shuō):
郁南縣平底: ______ ch的值為"0","0"代表邏輯假值. getchar() 這個(gè)函數(shù)是從鍵盤(pán)上讀入一個(gè)字符 getchar()=='B' 是在判斷,從鍵盤(pán)上讀的那個(gè)字符是否等于'B',如果相等返回邏輯真值"1",否則返回邏輯假值"0". ch=getchar()=='B' 因?yàn)橘x值運(yùn)算低于關(guān)系...
郁南縣平底: ______ 哦 是否繼續(xù)吧...我這么理解 插入一段這樣的 printf("continue?Y/N\n"); fflush(stdin);//清空緩沖區(qū) char ch=getchar(); if(ch=='Y'||ch=='y') continue; break; 前提是程序在大循環(huán)之中,若不是可以這樣 do {......//你的程序代碼放這邊 printf("continue?Y/N\n"); fflush(stdin); char ch=getchar(); }while(ch=='y'||ch=='Y');
郁南縣平底: ______ #include<conio.h>#include<stdio.h> void main() { int c,n; n=c=0; while ( c!='e' ) { c=getche(); n++; } printf("\n%d\n",n); }
郁南縣平底: ______ #includeamp;lt;stdio.hamp;gt;nbsp;#includeamp;lt;stdlib.hamp;gt;nbsp;#includeamp;lt;graphics.hamp;gt;nbsp;#includeamp;lt;bios.hamp;gt;nbsp;#includeamp;lt;conio.hamp;gt;nbsp;#definenbsp;LEFTnbsp;0x4b00nbsp;#definenbsp;RIGHTnbsp;0x4d...
郁南縣平底: ______ char* char[] 是C++里基本的數(shù)據(jù)類(lèi)型 string 是C++里定義的一個(gè)struct體,頭文件是<string.h> CString 是C++里定義的字符串類(lèi)<CString> using namespace std; 根據(jù)個(gè)人習(xí)慣看用哪一個(gè)都可以,最好用自己熟透的一種 當(dāng)然基本的類(lèi)型沒(méi)有封裝好的類(lèi)型用起來(lái)方便 呵,代碼不寫(xiě)了,希望對(duì)你有些幫助
郁南縣平底: ______ #include "stdio.h"void main(){ char ch; int a=0,b=0; while(ch!='*') { scanf("%c",&ch); if((ch>='A') && (ch<='Z') || (ch>='a') && (ch<='z')) a++; else if((ch>='0') && (ch<='9')) b++; } printf("字母有%d個(gè),數(shù)字有%d個(gè)",a,b);} #include "stdio.h...
郁南縣平底: ______ ch=getchar( )=='A'表示將 getchar( )=='A'將這個(gè)判斷的結(jié)果賦給ch,這個(gè)結(jié)果不成立,因此ch=0.
郁南縣平底: ______ 用C++來(lái)編 #include using namespace std; #include int main() { in...
郁南縣平底: ______ 這就是三種狀態(tài)了,用判斷來(lái)做,判斷兩次 比如:ch=getche(); if(ch=='Y') { //運(yùn)行輸入 Y的情況 } else if (ch=='N') { //運(yùn)行輸入 N的情況 } else { //運(yùn)行輸入別的字符的情況,或啥也不做 }
郁南縣平底: ______ 用getche(),是不等待回車(chē),立即讀取. #include <stdio.h> #include <conio.h> int main() { char pw[64],ch; int i=0; while((ch=getche()) != '\n') { pw[i++]=ch; printf("\b"); //后退一格 printf("*"); } pw[i]='\0'; puts(pw); return 0; }