亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

若輸入 bcdefgh、m、abcdefg 輸出結果為()

若輸入 bcdefgh、m、abcdefg 輸出結果為()

C
慕勒3428872 2023-03-04 18:14:03
#include<stdio.h>#include<string.h>main(){ int i; char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); if(strcmp(str[0],str[1])>0) strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)>0) strcpy(string,str[2]); printf("%s",string);}
查看完整描述

2 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

//這里要理解stramp函數,原型是 int strcmp(char *str1,char *str2),這個實現字符串的對比,先用str1里面第一個字母減去str2里面的第一個字母得到一個ACII值,判斷若該值大于0就返回1,若小于0就返回-1,若等于0就繼續用各字符串里德第2,第3個字母相減,知道結束符\0為止就認為2個字符串時相同的,返回0 
//這里b的值為98,m=109,所以strcmp(str[0],str[1])>0,第一個if不執行,執行else ,string="m",然后strcmp(str[2],string),a-m<0,不執行
//最后輸出m下邊程序是在vc6.0下寫的,可以直接編譯,看注釋很好理解#include<stdio.h>#include<string.h>
;
main(){ int i;char string[20],str[3][20]={"bcdefgh","m","abcdefg"};printf("%d\n",strcmp(str[0],str[1])); if(strcmp(str[0],str[1])>0)
{
strcpy(string,str[0]);
printf("1\n");//如果執行這個if語句就會輸出1
} else strcpy(string,str[1]); if(strcmp(str[2],string)>0)
{ strcpy(string,str[2]);
printf("2\n");//如果執行這個if語句就會輸出2
} printf("%s\n",string);}


查看完整回答
反對 回復 2023-03-08
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

也許你迷惑的地方:gets(數組名):假如字符數組的長度為9,當從鍵盤輸入字符串時,gets函數最多只能接收8個字符,因為系統要在字符串末尾加上'\0'。當輸出字符串時,遇見'\0'就停止輸出,而strcpy在使用時要連'\0'一起復制。

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號