C語言程式設計,字串的迴圈語句中,什麼時候需要加字串結束符號

2021-04-18 22:25:25 字數 3879 閱讀 7424

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

c語言程式設計符串長度,c語言程式設計 字串長度

include int strlen char stry 函式strlen 的呼叫在宣告後,這一行可以省略 int strlen char stry 應該傳入一個字元指標,也就是你的一維陣列首地址 因為呼叫時是n strlen str str是一維陣列名,也是陣列首地址 main include i...

c語言字串匹配程式設計問題

您好,下面的程式,測試通過!歡迎 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 這還不簡單,這已經...

c語言字串陣列的問題C語言字串陣列的問題

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 每行結尾的 僅僅是為了連線字串使用的,如果一個字串過長,寫在一行比較不合適,就在該行結尾處加上一個反斜槓 就可以在下邊的行繼續寫這個字串...