1樓:倒霉熊
首先 b[0]不會發生變化的。
因為在while( a[i++]!=』\0』) 後i變為1,所以b的元素從1開始變化。
a經過strcat(a,b);
變為ablmnp ,所以除第乙個外,其他的都賦值給b的相應的位置了。
2樓:
strcat(a,b);
while( a[i++]!=』\0』) b[i]=a[i];
這塊是關鍵點
strcat功能鏈結字串 執行後 a是ablmnp關鍵來了:while( a[i++]!=』\0』) b[i]=a[i];
a[i++]先做a[i]然後i再自加,b[i]=a[i] 這個時候i等於1 根據ablmnp就是b:b陣列lbnp
下一次 i=2 b陣列lblp
下一次 i=3 b陣列lblm
下一次 i=4 b陣列lblpm.....
3樓:
問題出在
while( a[i++]!=』\0』) b[i]=a[i];
a[i++] i=1了
b[1]=a[1] b[1]=b
原來 b中為 lmnp lbnp
下一次為 lblp
依次 結果為 lblmnp 結果為d
做程式得認真些!!!
這個C語言程式為什麼得不到想要的結果啊!求高手指教!在學校機房寫了一中午寫出來的老師留得作業
冷月笑星夢 下面的 輸出結果是 0 1 2 3 4 5 6 8lz主要的錯誤是 沒有跳出迴圈跟指標下標 具體看 include define maxlen 100 typedef struct sqlist int listinsert sqlist p,int i,int x int locate...
C語言問題為什麼選B過程求解大學C語言,為什麼選B,求解!
首先 是轉義字元,所以 的結果就是 其次,7s是指輸出字串佔7位,所以前方有空格。7s意思就是輸出後抄面的字串,襲 長度7 這裡如果bai7小於後du面字串長度則沒什麼意zhi義,dao還是按字串原樣輸出,如果大於後面字串,則會在字串前補空格 字串原本的雙引號是不會輸出的。所以a和c都不對,是轉義符...
c語言程式設計,這道題為什麼選B
switch語句bai內部只有遇到break才會退出du,否則會繼續執行zhi下一條語句。所以輸2的時候,dao 2 2 0,會把case 0 1 2三個條 專件都執行 case 0無輸出 case 1 2各輸出一屬個 2 4,就是兩個 6 然後遇到break退出 輸入4只執行case 2一次,輸出...