程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言問題比較三個字符串的大小,由小到大輸出。

C語言問題比較三個字符串的大小,由小到大輸出。

編輯:C語言問答

C語言問題比較三個字符串的大小,由小到大輸出。

#include
main()
{char swap(char *p,char *q);
char a[10],b[10],c[10];
char *m,*n,*k;
scanf("%s",a);
scanf("%s",b);
scanf("%s",c);
m=a;
n=b;
k=c;
swap(m,n);
swap(m,k);
swap(n,k);
printf("%s ",m);
printf("%s ",n);
printf("%s\n",k);
}
char swap(char *p,char *q)
{char *g,*h,*z;
g=p;
h=q;
while((*p)!='\0'||(*q)!='\0')
{ if(*p>*q)
{q=g;
p=h;
break;}
else{p++;
q++;}
}
}
這是之前不用STRCMP寫的,但輸入和輸出完全一樣,程序不起作用。我的思路是讓三個指針分別指向三個字符串,然後兩兩對比。在SWAP函數中先把傳過來的指針存在*g,*h中,然後字符往下逐個對比,若前者比後者大,就把指針p,q對換,即指向對象交換。
指針我不大理解,用不好。請大神指點這個程序問題所在,要如何修改。

最佳回答:

C++裡面,系統只要發現字符串,這是字符串就是以只針針的形式被識別的,就已經是一個地址了!!!舉例if("banana"=="banana")
cout<<""equal"<else cout<<"unequal"<
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved