1樓:匿名使用者
在語句for(j = 0; s[j] != '\0';j++);中,j 記錄的是串s的字元個數,結束該迴圈時,s[j]恰好是'\0',在接下來的for迴圈中,第一個j--後,s[j]是串s的最後一個字元,而i為0,迴圈體將s[0]與s[j]進行交換,第二個j--是正常遞減,以便與i++相對應,交換s[i]和s[j]。
2樓:作文高手的奇葩
沒那個程式之類執行不好
c語言字串陣列的問題
3樓:匿名使用者
#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;}
4樓:兄弟連教育北京總校
每行結尾的 \ 僅僅是為了連線字串使用的,
如果一個字串過長,寫在一行比較不合適,
就在該行結尾處加上一個反斜槓 \ 就可以在下邊的行繼續寫這個字串,
如 "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") ;
確實是一個字元陣列,對於字串陣列的說法,我也不敢苟同。
5樓:
if(a[i]==b[j]) 是判定不是賦值
C語言字串
錯誤在註釋中給出了 程式正確執行 include void main else if str i 等號是 是賦值 else if str i 等號是 是賦值 j letter blank gantan printf n d n j 先分析一下你的 for i 0 str i 0 i 你應該改成 fo...
用c語言寫字串逆序輸出,用C語言寫 字串逆序輸出
逆序輸出有很多種,具體的實現方法取決於你題目的要求 1.如果只是要求逆序輸出,那麼可以採用類似的方法 void reverse char s 這種方法在s很長的情況下會一直遞迴到底,不是很好。2.如果需要將字串整個逆序在函式外面輸出,那麼可能希望採用返回字串指標的方式 實現如下 char rever...
字串中的空格,C語言字串中的空格算不算一個字元
copy這個函式,如果 s i 為 0 則退出迴圈是吧,那迴圈到hello和world中間那個空格那裡,那個空格難道不是 0 麼?如果是 0 為什麼還要繼續迴圈呢?你的疑問 空格ascii 碼是32,而 0 ascii 碼是0.字串的末尾胡 0 是自動加上去的,所以 0 和字元0又不一樣了,0的as...