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