c語言字串問題

時間 2022-05-18 21:45:04

1樓:

首先字串定義是 char  *c;(用指標) 而不是char c; 這樣是單個字元定義了。

其次字串賦值要加上雙引號""。即c="0326";

最後輸出用s%,d%是整型輸出了。

2樓:

0362是8進位制數(以0開頭),轉化為十進位制是242。char (佔一個位元組)型別的範圍是:-128~127,242超過了char的表達範圍。

所以c中儲存的值是242的補,242的補=242-256(2的八次方)=-14

3樓:匿名使用者

c=0362。表示將8進位制的362,也就是10進位制的242賦值給字元c。輸出的為%d,所以c自動轉換成有符號整型。242的二進位制碼為11110010。它表示的有符號整型為-14

4樓:呼吸深長

char 只佔一個位元組 0362取低八位二進位制為 1111 0010 即負數 按位取反加一得到00001110

轉化為十進位制有符號數就是 -14

5樓:匿名使用者

char *c = "0362";

printf("%s\n",c);

6樓:在波爾多漂流的東北虎

您是要問什麼問題;

這程式是你自己寫的嗎?

為何字元變數要賦個這麼大的值?

又為何輸出的時候有強制轉換成整型?

C語言字串問題,C語言字元陣列與字串問題

字串初始化,如果逐個賦值的話,系統不是會自動新增 0 嗎不是。圖一就是長度為4的陣列,圖二長度為5圖三會是新增 0,但是是會把後面所有的都設為 0因為圖一和圖四不以 0結尾,所以不能用strlen和strcmp,會越界 圖四也可以用char str 4 stop 這樣賦值。如果不手動加長度就會是5了...

C語言字串問題

1全部char xx 50 80 是一個二維字元陣列,長度50 80個連續char空間。char tem 80 是一個一維字元陣列,長度80個連續char空間。c語言不存在字串變數型別,所有字串全部用 0結尾字元陣列表示。比如說 char a china 圖示為a0,a1,a2,a3,a4 c,h ...

C語言字元陣列與字串問題,C語言中將字串賦值給字元陣列的問題

渿河 這是在定義時初始化 如果你的右邊花括號內的字元個數少於 陣列元素個數 那麼其餘的陣列元素將會初始化為0 0 的ascii碼的值就是0 如果你不指定陣列元素個數 編譯器會自動幫你計算出元素個數的 char c 10 這個是已經給定了陣列的大小,達不到陣列大小的長度的話會自動添零的 c語言中將字串...