C語言符串的輸出,為什麼輸出那麼多 燙 呢

2021-04-22 02:20:59 字數 1303 閱讀 5782

1樓:天雲一號

出現「燙」的原因是由於字元陣列中的某些陣列元素沒賦值。

具體原因可以通過如專下例項來進行說明:

char a[10];

a[0] = 'a';

a[1] = 'b';

a[2] = 'c';

a[3] = 'd';

printf("%s", a);  // 輸出屬結果就會出現很多「燙」,因為只對陣列a中前四個元素進行了賦值,後面的元素未進行賦值,所以計算機預設就輸出「燙」

如果作如下修改就會正常輸出

char a[10];

a[0] = 'a';

a[1] = 'b';

a[2] = 'c';

a[3] = 'd';

a[4] = '\0';

printf("%s", a);  // 輸出abcd,因為加了結束字元'\0',而c語言中輸出字串是以結束字元'\0'作為結束輸出的,所以只輸出'\0'前面的所以字元,即abcd

2樓:匿名使用者

本程式的要求是先輸入一個字串,再依次列印出來。不過這個字串裡面運用了結構體

3樓:天天向上知識店鋪

#include

#define maxsize 100

struct string;

void init(struct string *l)void main()

4樓:匿名使用者

哥們,給改好了

#include

#define maxsize 100

struct string;

void init(struct string& l)void main()

5樓:張超級

能說得詳細一點嗎?該程式到底要求什麼?

輸出字元陣列的時候為什麼會輸出很多「燙」

6樓:

是把字元陣列當字串輸出了,由於最後沒有'\0'所導致。

7樓:匿名使用者

你好,你的變數或陣列沒初始化,所以記憶體裡的值是隨機的。譬如,int a,buf[100];//必須初始化,這是個很基本的程式設計習慣!a = 0;memset(buf,0,100);

關於一道簡單c語言的題目。字串陣列逆序輸出!為什麼執行會出現燙?

8樓:刀塔神級五號位

/* 輸入一個正整數,按逆序輸出該數*/

main()}

c語言輸出控制符有哪些C語言輸出控制符有哪些?

常用的輸出控制符主要有以下幾個 因為計算機中所有的資料都是二進位制 0 1 所以輸出的時候要用 輸出控制符 告訴計算機以什麼形式將二進位制資料顯示出來。輸出控制符中,d f s c 是最常用的,它們分別是輸出整數 實數 字串和字元的控制符。mf 雖然用得不多,但一定要重視。格式控制符 格式說明引導符...

c語言列印字串亂碼問題,C語言,字串輸出是亂碼

include void reverse char p,char q char myitoa int value,char const string,int radix else while value if sign reverse string,s 1 s 0 return string int...

c語言怎麼用printf輸出字串

printf函式的一般格式 printf 格式控制字串,輸出表列 以圖1所示為例。圖1.函式引數包括兩部分 1 格式控制字串,是用雙引號括起來的字串,也稱為轉換控制字串,它指定輸出資料項的型別和格式。它包括兩種資訊 格式說明項 由 和格式字元組成,如 d,f等。格式說明總是由 字元開始,到格式字元終...