c語言中字串中元素賦值為0,輸出結果如何?(a[3]=0;) 匿名使用者 1級 2012-01-05 回答

輸出截止到賦值為0的那個元素,因為輸出語句將賦值為0的那個元素認作為串尾符‘\0’

c語言中字串中元素賦值為0,輸出結果如何?(a[3]=0;) ご漫步雲端 1級 2012-01-05 回答

// string[500]=“abcdefg”;

//是將字串“abcdef”賦值給字元陣列中string[500]這個元素,先不說string[500]已經越界了。

單單是string[500]只能存放一個字元,但你這裡卻要將一串字串賦值給他。當然會錯誤。

像你說的在定義時初始化是對的。

如果定義後要進行賦值。就用string。h中的strcpy()函式,將“abcdefg”複製到字串string中。

程式碼如下:

#include

#include

int main()

{

char string[500];

// string[500]=“abcdefg”;

strcpy(string,"abcdefg"); //將字串常量賦值給字元陣列

return 0;

}

c語言中字串中元素賦值為0,輸出結果如何?(a[3]=0;) 匿名使用者 1級 2012-01-05 回答

如果輸出語句是printf(“%c”,a[1]); 則輸出空格

如果輸出語句是printf(“%d”,a[1]); 則輸出 0

c語言中字串中元素賦值為0,輸出結果如何?(a[3]=0;) 匿名使用者 1級 2012-01-05 回答

字串中的元素能賦值嗎?編譯會提示你變數沒有定義吧?最好自己動手編譯模擬下,如果有問題系統會提示,沒有問題你用列印函式輸出看看就知道了