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

2021-03-06 23:15:19 字數 920 閱讀 3596

1樓:匿名使用者

#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;}

2樓:兄弟連教育北京總校

每行結尾的 \ 僅僅是為了連線字串使用的,

如果一個字串過長,寫在一行比較不合適,

就在該行結尾處加上一個反斜槓 \ 就可以在下邊的行繼續寫這個字串,

如 "123456789abcdefg"

和"123456789\

abcdefg"

這兩種寫法是同樣的。

而根據text函式的特性

text ("text files (*.txt)\0*.txt\0") \

text ("ascii files (*.asc)\0*.asc\0") \

text ("all files (*.*)\0*.*\0\0")

又等同於

text ("text files (*.txt)\0*.txt\0ascii files (*.

asc)\0*.asc\0all files (*.*)\0*.

*\0\0")

所以你上邊寫的就等同於

static tchar szfilter=text ("text files (*.txt)\0*.txt\0ascii files (*.

asc)\0*.asc\0all files (*.*)\0*.

*\0\0") ;

確實是一個字元陣列,對於字串陣列的說法,我也不敢苟同。

3樓:

if(a[i]==b[j]) 是判定不是賦值

C語言求字串長度的問題,c語言如何求字串長度?

你的 出現問題的原因是scanf s a a是一個char型別的變數,系統為它分配了一個位元組的記憶體空間,但是你卻輸入了一個字串到以a的地址為首地址的一段連續的記憶體空間裡,這樣就出現了越界錯誤.但是printf函式並不檢查越界錯誤,它會按正常的方法執行,然後程式統計出長度,列印出來結果.但是返回...

C語言字串出現亂碼,C語言 字串輸出時最後出現亂碼

第6行改為 char a 100 b 100 如果要輸出最終結果,沒必要每複製一個字元就輸出一次。將第25行刪掉。可以參考一下這個,講的很清楚 亂碼問題 codeblocks亂碼問題。它這個是codeblocks的,其他其實也差不 太多吧。關鍵是 原始檔儲存編碼 編譯器解釋原始檔的編碼 生成執行檔案...

關於C語言的字串問題

應該不可以,函式指標本質傳遞的是這個函式在記憶體中的起始地址,而字串不可以弄。不過高階語言分配的時候,會自動建立一個叫做 符號表 的資料結構,裡面有這個程式所有的宣告識別符號和其地址 大小等資訊,你如果可以找到訪問這個表的方法,就能實現你的這個想法了。不過我也只知道有這個東西,卻不知道如何去訪問,現...