第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

要的結(jié)果是 〔ABC〕〔BCF〕 實(shí)際運(yùn)行結(jié)果是 〔BCF][BCF] 怎么改?

要的結(jié)果是 〔ABC〕〔BCF〕 實(shí)際運(yùn)行結(jié)果是 〔BCF][BCF] 怎么改?

C
嗶嗶one 2023-03-12 18:14:36
char *upper(char *s_str){static char d_str[20];strcpy(d_str,s_str);int len_str=0,i=0;len_str=strlen(s_str);for(i=0;i<len_str;i++){if(d_str[i] >=97){d_str[i] = d_str[i]-32;}}return d_str;}int main(int argc,char **argv){  char tmp[20];memset(tmp,0,sizeof(tmp));sprintf(tmp,"[%s][%s]\n",upper("abc"),upper("bcf"));printf("%s",tmp);return 0;  }
查看完整描述

2 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊

我可以告訴你為什么這樣:
因為函數(shù)內(nèi)聲明的static變量在整個程序的聲明周期只對應(yīng)一個內(nèi)存區(qū)域,就是說upper("abc")的返回值被upper("bcf")的返回值覆蓋了。
可以這樣修改:
char* upper(char* s_str, char* d_str)
{
strcpy(d_str,s_str);
int len_str=0,i=0;
len_str=strlen(s_str);
for(i=0;i<len_str;i++)
{
if(d_str[i] >=97)
{
d_str[i] = d_str[i]-32;
}
}
return d_str;
}


查看完整回答
反對 回復(fù) 2023-03-15
?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗 獲得超9個贊

為什么函數(shù)里面要這樣static char d_str[20];定義呢?在多次調(diào)用的時候要保留d_str的值嗎?
不用加static限定了

查看完整回答
反對 回復(fù) 2023-03-15
  • 2 回答
  • 0 關(guān)注
  • 107 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號