1樓:匿名使用者
abs 123
china
a = abs 123, b = chinaa = china
b = abs 123
press any key to continue#include
#include
int main()
printf("a = %s\n",a);
printf("b = %s\n",b);
return 0;}
2樓:
輸入字串,你用scanf 那麼當遇到空格的時候就認為是結束了,
"abc 123" 也就是說你第一次scanf接收到的只是abc,當你再次scanf的時候123才進來。
你改成gets就行了。
3樓:
有樓上所說的原因吧! char ch;加在前面。還有就是 你在最開始時宣告瞭a,b陣列的長度,但後面你又來檢測其長度,這將會導致兩種可能:
1、得到陣列長度都為10,if轉換陣列語句將不執行;2、得到的陣列長度不一樣,1 c<=d,不執行轉換,2 c>d a陣列包含b陣列,而b陣列則只有一部分長度的a陣列。而無論哪種情況,也是得不到正確答案的!
4樓:匿名使用者
main()
}printf("a=%s\n",a);
printf("b=%s\n",b);}
5樓:匿名使用者
#include "stdio.h"
#include "string.h"//加標頭檔案main()
;if(c>d) //修改此處
puts(a);
puts(b);}
6樓:匿名使用者
已除錯,
#include "stdio.h"
#include "string.h"//加標頭檔案main()
printf("a=%s\n",a);
printf("b=%s\n",b);
}這下對了
7樓:何處可人生
應該是ch沒有宣告吧
8樓:
char a[100],b[100],ch;
int c,d,k;
scanf("%s",&a);
scanf("%s",&b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);
d=strlen(b);
if(c>d)
for(k=0;k printf("a=%s\n",a); printf("b=%s\n",b); return 0; 你好樓主 if a 1 是判斷a是否等於1 而if a 1 則直接將a賦值為1,即永遠非零 為真 不會執行else下內容,不符合程式原意 c語言中 為賦值 為判斷是否相等 a 1 是吧1賦值給a if a 1 等價於 if 1 條件為真了這時候if語句後面的內容必然會執行的 a 1是判斷他們是否相等... 上面程式的功能是算出你輸入同學的平均分,同時輸出低於平均分的分數 但是你這個程式版是有問權題的沒有退出的條件,只能輸入score為負數才能退出 分別為56,78,89,65,58,34,45,9 則輸出結果如下圖 c語言問題求解答 5 1 include 2 int main 3 21 22 23 ... f函式中的a每次使用外面傳入的2,b是區域性變數,後每次都是1,c是靜態變數,函式每次執行會在上次值 1 所以最後執行三次,輸出為789 程式的輸出是 789 c語言問題,求解答 執行abc a 1 首先進行巨集代換過程,是把 a 1去替代 定義的巨集函式 x x 中的x,即得到式子 a 1 a 1...c語言問題,急求解答,C語言問題,急求解答
c語言問題。求解答,C語言問題。求解答
C語言問題,求解答,C語言問題,求大神解答