C語言字串陣列

2022-06-21 23:20:02 字數 846 閱讀 2202

1樓:20分鐘假腿

不是的,printf裡%s是通過後面的name定址到該記憶體單元,然後從該記憶體單元開始讀取資料,知道'\0'字元結束。所以會把你輸入的東西輸出

2樓:莊政警

是的,但是%s的含義是,把從這個位址開始的內容當作ascii碼依次輸出來,直到碰到'\0',就是一種機械的做法

比如:int a=;

printf("%s",a);

會輸出abcd

3樓:糖二灰

理論上你是正確的啊,就是不知道你要問的什麼。

printf ("%c, what's your weight in pound?\n", name[0]);第7行如果改成這樣,它就只列印出來name的第乙個元素,注意%c和後邊的是name[0],不是name[0]的位址。

printf ("%s, what's your weight in pound?\n", name);//第7行如果是這樣,因為前邊的修飾符是%s,表示輸出的是字串,字串是以'\0'結尾的啊,你把name的位址傳進去以後,他就會從name的開頭開始列印輸出,直到遇到'\0'停止。

第7行還可以這樣寫。

4樓:匿名使用者

陣列名是指向陣列的第乙個元素的存放位置的,%s就是把陣列名指向的乙個字串在螢幕上輸出

5樓:小兆

這是人為name字元陣列內存放的字串行是以/0結束的,也就是字元陣列可以認為是乙個字串,把字串的首位址傳給printf是沒有問題的。

c語言字串陣列逆序問題,C語言字串陣列逆序問題

第乙個問題 字串陣列的長度不包括最後的 0 第二處問題 1 把 for i 0 str1 i 0 i 後面加上乙個分號 2 把for i 0 str1 i 0 i 後面的花括號去掉 3 再把 puts str1 前面的花括號去掉就可以了 程式如下 include stdio.h int main c...

C字元陣列和字串陣列,在C中字元陣列和字串有什麼區別

實際上,字元陣列和普通陣列一樣,沒有本質區別。請大家注意陣列型別的含義 資料型別指的是陣列所包含的元素的型別,而不是陣列名的型別,陣列名永遠是乙個指標,指向第乙個元素的位址,即陣列首位址。字元陣列的每個元素都是char型別,整型陣列的每個元素都是int型別。scanf 和 printf 函式有一種格...

c語言中十六進位制字元陣列轉化為字串

如下 void bytetohexstr const unsigned char source,char dest,int sourcelen return 擴充套件資料 字串是一種非常重要的資料型別,但是c語言不存在顯式的字串型別,c語言中的字串都以字串常量的形式出現或儲存在字元陣列中。同時,c ...