當前位置:編程學習大全網 - 編程軟體 - #include <stdio.h> #include <string.h> void fun(char *w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; whi

#include <stdio.h> #include <string.h> void fun(char *w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; whi

有三次循環的過程。fun函數在s1<s2時,將指針s1指向的值取出送t,然後指針加1,再將s2指向的值取出,送加1後的s1指向的地址,最後將t中內容,即原來s1所指向內容送減1後的s2指向地址。壹***循環執行三次。

第1次循環:

t='1' ,s1指向第二位數所在地址,內容變成'7’,s2指向倒數第二位數,內容變成 ‘1’,整個字符串變為“1734517”

第2次循環:

t='7' ,s1指向第三位數所在地址,內容變成'1’,s2指向倒數第三位數,內容變成 ‘7’,整個字符串變為“1714717”

第3次循環:

t='1' ,s1指向第四位數所在地址,內容變成'1’,s2指向倒數第四位數,也即正數第四位數,內容變成 ‘1’,整個字符串變為“1711717”

最終結果為1711717

不過好像有答案寫說主函數中應改成char p[8]="1234567",原因是p="1234567" 定義的話p指向的是個字符串常量,沒辦法修改常量。好像有道理,我沒有上機運行。妳自己改了試試看。

  • 上一篇:北大青鳥java培訓:零基礎學習編程可以選擇哪些行業?
  • 下一篇:有關計算機的基礎知識
  • copyright 2024編程學習大全網