如果按你的方法來比較大小,而且是7個數(shù)字,也就是a~g,你后面少比較了g,而且最后的j也未必是最大,需要改為:
超過10年行業(yè)經(jīng)驗,技術領先,服務至上的經(jīng)營模式,全靠網(wǎng)絡和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務范圍包括了:成都做網(wǎng)站、成都網(wǎng)站建設、成都外貿(mào)網(wǎng)站建設,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡托管,微信小程序定制開發(fā),微信開發(fā),APP應用開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡營銷和我們一樣獲得訂單和生意!
main()
{
int a,b,c,d,e,f,g,h,j;
scanf("%d%d%d%d%d%d%d",a,b,c,d,e,f,g); //這里讀到g即可,后面沒用的
a = max(a,b); //不能把g的值覆蓋了,7個數(shù),g還有存儲數(shù)據(jù)呢
h = max(c,d);
j = max(e,f);
a = max(a,g); //還要和g比較
h = max(a,h); //接著還要比較a和h誰大
j = max(h,j); //這個才是最后結(jié)果,最大的一個
printf("abcdef da shi%d",j);
getch();
}
如果要比較大小的數(shù)比較多,建議使用數(shù)組存儲,用個for循環(huán)就搞定了,如下:
#include stdio.h
void main()
{
int i, a[7], max = -32768;
for (i = 0; i 7; i++)
{
scanf ("%d", a[i]);
if (a[i] max) max = a[i];
}
printf ("max number is %d\n", max);
}
其實你這里主要問題是不能接收到兩個輸入的字符串。
你這里的接受規(guī)則是輸入兩個字符串并用 , 號分隔,比如:abc,abc
但是這里就有一個問題了!計算機怎么知道你輸入的,號是你輸入的第一個字符串的一個字符呢?還是你兩個字符串的分隔?
所以當你輸入abc,abc的時候計算識別你的第一個字符串是abc,abc
第二個字符串為\n
所以你這里得到的始終是1
至于解決的辦法:
讓計算機識別你的分隔符號
那方法就很多了,比如 scanf("%s%s",a,b);輸入的時候用空白符(空格,tab,回車鍵)相間隔
從左到右,依次比較字母的ASCII碼的大小,遇到不同字符或'\0'結(jié)束。
基本形式:strcmp(str1,str2)
str1=str2時,返回零;str1str2時,返回負數(shù);str1str2時,返回正數(shù)。
比如Apple和Banana比較,先比較第一個字母A和B,A的ASCII碼是65,B的是66,所以AppleBanana。
compare和computer比較,前4個字母相同,第五個字母a和u,a的ASCII碼是97,u的是117,所以comparecomputer。
擴展資料:
特別注意:
strcmp(const char *s1,const char * s2)這里面只能比較字符串,即可用于比較兩個字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。
ANSI標準規(guī)定,返回值為正數(shù),負數(shù),0 。而確切數(shù)值是依賴不同的C實現(xiàn)的。
1、當兩個字符串不相等時,C標準沒有規(guī)定返回值會是1 或 -1,只規(guī)定了正數(shù)和負數(shù)。
2、有些會把兩個字符的ASCII碼之差作為比較結(jié)果由函數(shù)值返回。但無論如何不能以此條依據(jù)作為程序中的流程邏輯。
原型:extern int strcmp(const char *s1,const char * s2);
所在頭文件:string.h
功能:比較字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
說明:
當s1s2時,返回為負數(shù)
當s1=s2時,返回值= 0
當s1s2時,返回正數(shù)
即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。如:
"A""B" "a""A" "computer""compare"
特別注意:strcmp(const char *s1,const char * s2)這里面只能比較字符串,不能比較數(shù)字等其他形式的參數(shù)。
qsort的最后一個參數(shù)是一個函數(shù)指針。通過這個函數(shù)指針把自己寫的比較函數(shù)傳給qsort. 這樣的話qsort就可以知道如何比較大小,才能制定排序的標準。通過自己傳入不同的比較函數(shù),可以用qsort實現(xiàn)不同數(shù)據(jù)類型的排序。比如string, int, double, 甚至結(jié)構(gòu)體。
采用這種手段的話,就可以復用排序的邏輯,而不必要為所有的數(shù)據(jù)類型都提供一個qsort函數(shù)。
同理bSearch函數(shù)里面也需要比較函數(shù),道理是一樣的。
本文名稱:c語言比較函數(shù)怎么實現(xiàn)的 c語言比較大小
文章轉(zhuǎn)載:http://jinyejixie.com/article42/dochohc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、云服務器、網(wǎng)頁設計公司、網(wǎng)站策劃、外貿(mào)建站、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)