c語言問題,為什麼輸入social,an,cool它的結果字母會替換?急求

時間 2022-11-13 03:40:58

1樓:

我想你的程式是想讓三個字串按ascii碼的大小來排序輸出吧,問題主要出在你的

if(strcmp(strl1,strl2)>0)if(strcmp(strl1,strl3)>0)if(strcmp(strl2,strl3)>0)由於p1,p2,p3都是指標分別指向strl1到strl3那麼*p1,*p2,*p3就是這三個字串的首字元,而你用上面的三個if語句,交換的就是首字元,你交換的應該是指標的指向,所以改下:

#include

#include

void main()

if(strcmp(strl1,strl3)>0)if(strcmp(strl2,strl3)>0)printf("%s,%s,%s\n",p1,p2,p3);}結果

2樓:匿名使用者

char temp,*p1,*p2,*p3;問題在這裡你的temp只是乙個字元。你交換字串的時候,只是取了他們的首個字元。改下char temp[20],下面的交換要用strcpy函式

if(strcmp(strl1,strl2)>0)

3樓:匿名使用者

#include

#include

void main()

if(strcmp(strl1,strl3)>0)if(strcmp(strl2,strl3)>0)printf("%s,%s,%s\n",p1,p2,p3);}

4樓:曾全

你這裡那裡有social,an,cool?

C為什麼不對英語問題,英語問題 為什麼C

interest要麼用作名詞,意思是興趣,如show interest in,interest也可用作動詞,意思是令某人感興趣或使產生興趣 因此,這題的正確答案是a.interested.interesting是用在形容物等客觀事物上的。而interested是用在人身上的,比如情感。relaxin...

c語言,int 陣列輸入的問題,C語言,int 陣列輸入的問題

可以的阿,你只管在一行中輸入,用空格隔開,完了再回車 如果不足的話,那麼程式會等待你繼續輸入的 如果多了,也就費了 int array new int n 這種用法第一次見,你要挨著輸入可以呀,int n n scanf d d d d n,n 1,n 2,n 3,int i 0 while i n...

關於c語言scanf輸入語句問題

這個是由scanf的第乙個引數決定的,前兩種情況相同。scanf d,d a,b 輸入乙個數字,再輸入 再輸入乙個數字,兩個數值之間 前後都行 有任意個空格或沒有空格 scanf d d a,b 可以 數字 空格 大於等於1個 數字,也可以 數字 回車 數字 scanf d d a,b 可以 數字 ...

請教c語言有關輸入的問題,請教C語言有關輸入的問題

雖說小數點後還有3位,但saanf語句沒有精度限制,所以選b。具體 於的注意問題 還有關於scanf的可以參考一下,可以更全面地了解一下 雖然沒有見過這種輸入。不過我想答案應該選b。再輸入函式時其實對於float型別的數,它本身的小數點位數都是明確規定的,大概是6位吧。所以應該是乙個整數,答案bsc...

C語言儲存問題,為什麼字串一長就不執行SCANF??難道是越界

輸入sel i question及sel i selanswer前面的取位址符號是可以不要的,字元陣列的首位址就是陣列名,還有就是通過你這種scanf輸入方式是只能讀取連續輸入,有空格的話就會結束,而剩下的內容會駐留在緩衝區內,當碰到下乙個scanf時再從緩衝區中讀,這樣表面上感覺就是沒有執行第2個...