1樓:匿名使用者
輸出結果為abcefijklqswz
功能是這樣的
while(a[i]!='\0'&&b[j]!='\0')
}這一段話的意思是:將字串a與字串b各個元素進行比較直到a或b其中有個出現'\0'為止,然後將比較出的較小的那個字母(元素)存入到字串c中。
過程舉例:a由:a,c,f,i,j,k組成
b由:b,e,f,i,j,k,l,q,s,w,z組成
首先:i=0,j=0,k=0,且a[i]!='\0'&&b[j]!='\0’
所以執行:if(a[i]b[j] )c[k++]=b[j++];
else }
發現a(a[0])b(b[0])所以要執行c[k++]=b[j++];
即c[1]=b[0]=b;
就像上述這般如此迴圈下去,直到a或b中有一個結束為止。如果說中途遇到a與b中的某個字母相同的時候,比如說a[2]=f,b[2]=f;這時就執行
即將b中的字母存入到c中。
這就是你第一個迴圈的功能,而第二個迴圈
while(a[i]=='\0'&&b[j]!='\0')
c[k++]=b[j++];
while(a[i]!='\0'&&b[j]=='\0')
c[k++]=a[i++];
c[k]='\0';
這個功能是,如果a或b中有一個先結束了,比如a它在上一次迴圈中迴圈到最後一個字母k的時候就迴圈就停止了,這時候b還沒有停止所以滿足(a[i]=='\0'&&b[j]!='\0')
於是執行c[k++]=b[j++];也就是將b中剩餘的字母全部複製到a中。反之,如果a比b長的話就把a中剩餘的字母複製到c中。
在輸出結果中的“lqswz”實際上就是b比a多出的那些字母。
到這裡我想我已經講的很詳細了,這道題目很簡單的,只要樓主細心的去分析它,就明白一切了。
呵呵,希望我的回答能對你有所幫助哦~~~
2樓:匿名使用者
學習c語言我建議你去敗筆網路安全小組
3樓:【阿琪
最終執行結果是: abcefijklqswz
函式執行含義:
#include
#include
void main()
/*該迴圈的作用是將字串b剩下的字母賦值到字串c中*/
/*此時i=6,a[6]='\0',j=11,b[11]='\0',不滿足迴圈條件,迴圈不執行*/
c[k]='\0';
/*由於下面使用puts函式,所以字串c最後一位必須人工賦值'\0'*/
puts(c); /*輸出字串c*/
}完整的迴圈執行過程:
開始→第一個while迴圈開始→
i=0, j=0, a[0]=a, b[0]=b, c[0]=a, k=1, i=1, j=0
i=1, j=0, a[1]=c, b[0]=b, c[1]=b, k=2, i=1, j=1
i=1, j=1, a[1]=c, b[1]=e, c[2]=c, k=3, i=2, j=1
i=2, j=1, a[2]=f, b[1]=e, c[3]=e, k=4, i=2, j=2
i=2, j=2, a[2]=f, b[2]=f, c[4]=f, k=5, i=3, j=3
i=3, j=3, a[3]=i, b[3]=i, c[5]=i, k=6, i=4, j=4
i=4, j=4, a[4]=j, b[4]=j, c[6]=j, k=7, i=5, j=5
i=5, j=5, a[5]=k, b[5]=k, c[7]=k, k=8, i=6, j=6
i=6, j=6, a[6]='\0’, b[6]=l
→第一個while迴圈結束 此時 c=abcefijk
→第二個while迴圈開始
i=6, j=6, a[6]='\0’, b[6]=l, c[8]=l, k=9, i=6,j=7
i=6, j=7, a[6]='\0’, b[7]=q, c[9]=q, k=10, i=6,j=8
i=6, j=8, a[6]='\0’, b[8]=s, c[10]=s, k=11, i=6,j=9
i=6, j=9, a[6]='\0’, b[9]=w, c[11]=w, k=12, i=6,j=10
i=6, j=10, a[6]='\0’, b[10]=z, c[12]=z, k=13, i=6,j=11
i=6, j=11, a[6]='\0’, b[11]='\0’
→第二個while迴圈結束 此時 c=abcefijklqawz
→第三個while迴圈開始
i=6,j=11,a[6]='\0’, b[11]='\0’
→第三個while迴圈結束
c[13]='\0';
→輸出字串c→結束
c語言檔案部分的題,大神看一下,c語言檔案部分的題,大神看一下
我是用來的結構自體寫 bai的,du 你看可以zhi 不。dao include typedef struct stu nono int main while n100 getchar for i 0 i c語言檔案寫入txt中邏輯有問題,求大神幫忙看一下,謝謝 include include vo...
幫我看一下這些題,謝謝,麻煩幫我看一下這個題,謝謝
這個沒問題啊 這樣配成完全平方再開方 因為根號7大於1,所以最後得到根號7 1 根號1等於1,所以最後結果就寫成根號7 1吧,不要寫根號1了。麻煩幫我看一下這個題,謝謝 這個沒問題啊 這樣配成完全平方再開方 因為根號7大於1,所以最後得到根號7 1 根號1等於1,所以最後結果就寫成根號7 1吧,不要...
幫忙看一下兩道c語言題,說一下過程,謝謝
真燒腦子!第一題,輸出 3,1,1,3,1,1 第一題 考題關鍵注意點 continue,執行迴圈增量表示式 i第一次迴圈 i取0 i 2等於0,if j i 2 只要j大於0必定成立 j第一次迴圈 j取4,執行if內容,列印 3,執行continue,執行增量表示式j j等於2 j第二次迴圈 j取...