1樓:鬥帝之上魂鬥羅
針對字串,一個char一個char的遍歷的時候,用ch=str[i],ch!='\0'來判斷是否已經遍歷完成
c語言中!='\0' 是什麼意思
2樓:過兒兒兒兒兒兒
!='\0'.就是執行到字串結尾時結束。
!的意思是非,亦可以理解成不。『\0』是字串的結束符號,由編譯器自動加上。
比如說,把一個字串賦值給陣列:u8 str1=;實際上陣列str1在記憶體中的實際存放情況為: c x j r .
2 1 i c . o r g '\0' 這後面的'\0'是由c編譯系統自動加上的。
所以在用字串賦初值時一般無須指定陣列的長度, 而由系統自行處理。 把字元陣列str1中的字串拷貝到字元陣列str2中。串結束標誌'\0'也一同拷貝。
但是……也有一些例外情況發生。比如,當陣列長度不夠。假設我們指定了陣列長度,如:u8 str1[13]=;由於字元組str1的長度為13,所以後面的資訊會丟失,即'\0'丟失。
另外,如果在給陣列賦值時,把每個字元單獨用引號括起來。也會丟失'\0'。如:
u8 str1=;如果希望陣列以'\0'結束,則要麼寫成:u8 str1=;要麼寫成(人工新增'\0'):u8 str1=;要麼寫成(故意給陣列預留一個空位):
u8 str1[14]=;。
3樓:小莫
在c語言中,!='\0' 是沒有結束的意思。
其中,!=是關係運算號,\0(空字元)是字串的結束碼。
例如:char s = "10";
printf("%s\n", s);
printf("s[1]:%d\n", s[1]);
printf("s[2]:%d\n", s[2]);
printf("s[1]:%c\n", s[1]);
printf("s[2]:%c\n", s[2]);
char u = ;
cout << sizeof(u) / sizeof(*u) << endl;
char v = "hello";
cout << sizeof(v) / sizeof(*v) << endl;
列印結果如下圖:
擴充套件資料:
在c語言中,運算子總共包括以下十類:
1、算術運算子
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。
2、關係運算子
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3、邏輯運算子
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4、位操作運算子
參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5、賦值運算子
用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6、條件運算子
這是一個三目運算子,用於條件求值(?:)。
7、逗號運算子
用於把若干表示式組合成一個表示式(,)。
8、指標運算子
用於取內容(*)和取地址(&)二種運算。
9、求位元組數運算子
用於計算資料型別所佔的位元組數(sizeof)。
10、特殊運算子
有括號(),下標,成員(→,.)等幾種。
4樓:靠名真tm難起
!='\0' 是沒有結束的意思。\0(空
字元)是字串的結束碼。例如:在求字串長度時,有一句是while (ch[i++]!='\0')
當字元ch[i++]不等於結束符'\0'時.字串最後都會有一個結束符,例如,
char a[100];
scanf("%s",a);
你輸入字串china之後,那麼字串陣列中a[0]=='c',a[1]=='h'.a[5]=='a' a[6]=='\0'
5樓:匿名使用者
字串都是以'\0'結束的,如
char str[6]="hello";
而在記憶體中則是"hello\0"
即你申請了6個空間,但只能用5個,最後一個用來放'\0'。表示字串結束。
例如下面一個查詢str末尾的程式
while(*str != '\0')
有時也可以把'\0'直接放在字串末尾,用來表示該字串結束。如:
char str[10];
for(i=0;i<5;i++)
str='\0';
希望對你有用
6樓:雙魚婦聯鋼鐵俠
這是c語言中的if巢狀,寫成這樣你或許就認識了:
if(x }意思就是x 如果滿足x 7樓:匿名使用者 if(z=y>0)表示: 第一步:z=y>0理解為:z=(y>0);即y>0則z=1,否則z=0 第二步: z不為0,則if的條件為真,否則為假 8樓:匿名使用者 是邏輯表示式,用於判斷變數y的內容是否為0 當y的內容為0,表示式的計算結果為真(即結果為1) 若y的內容為非零值,表示式的計算結果為假(結果為0) 9樓:匿名使用者 字元裡面的數字0 char a = 『0』;//a這個字元裡面裝的就是0當我們要把一個字元格式的數字轉化為整型數字時,可以這樣用: char a = '7'; int b = a - '0';//b = 7 同理·數字加『0』可轉化為字元 10樓:匿名使用者 '0'的意思就是字元0,跟'a' '#'的意思一樣。可以用來將字串形式儲存的數字(如4251)一個一個轉化成數字,原理就是字元'4''2''5''1'跟'0'在ascii中的值得差就是4、5、2、1,再用一個變數number,number = character - '0' + 10 * number,就能用number儲存四千五百二十一了。 11樓:匿名使用者 !的意思是非,亦可以理解成不。『\0』是字串的結束符號,由編譯器自動加上。!='\0'.就是執行到字串結尾時結束。一般用在迴圈之中。比如 #include main()} 12樓:紫晨心戀 '0'是字元常量,在ascii(美國標準資訊交換**)字符集中,數字『0』的**是48,運用不同的格式,其作用也不同,要求輸出值為\d型別是其值可代表為48,為\c型別時其值為0等等用法 13樓:隨楓輕逝 \0是字串結束符,!號的意思是非,既取反,如果有語句!=\0,那它的意思就是:字串沒有結束 14樓:匿名使用者 是判斷該字元是否是一個字串的結尾 如何用c語言編寫程式「輸入一串字元(換行符結束),用迴圈語句將其中的大小寫英文字母互換後輸出」 15樓:匿名使用者 #include int main() else if ('a' <= c[i] && c[i] <= 'z')i++; }printf ("%s", c); return 0;} 16樓:三角戀你的錯 k.jewbrkwhrqwkehwoiehrlwkehr include int strlen char stry 函式strlen 的呼叫在宣告後,這一行可以省略 int strlen char stry 應該傳入一個字元指標,也就是你的一維陣列首地址 因為呼叫時是n strlen str str是一維陣列名,也是陣列首地址 main include i... 您好,下面的程式,測試通過!歡迎 include using namespace std void main if pb 0 break else pb b pa cout void main if pb 0 break else pb b pa printf d n local 這還不簡單,這已經... include int main scanf s a for i 0 a i 0 i for j 0 j 5 j 修改 1 下標從0 4,共5個 return 0 每行結尾的 僅僅是為了連線字串使用的,如果一個字串過長,寫在一行比較不合適,就在該行結尾處加上一個反斜槓 就可以在下邊的行繼續寫這個字串...c語言程式設計符串長度,c語言程式設計 字串長度
c語言字串匹配程式設計問題
c語言字串陣列的問題C語言字串陣列的問題