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

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

為什么要將itoa(n,str+6);改成itoa(n,str+5) 最后怎么輸入STR 謝謝

為什么要將itoa(n,str+6);改成itoa(n,str+5) 最后怎么輸入STR 謝謝

C
嗶嗶one 2023-03-05 19:15:57
/**在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/ ***** N ***** /”的下一行中有錯誤,*請改正(注意:不得加行、減行、加句、減句,否則后果自負)。*該程序功能:用遞歸法將一個六位整數(shù)n轉(zhuǎn)換成字符串,例如輸入123456,應輸出字符串"123456"。*/#include<stdio.h>void itoa(long i,char *s){if(i==0)return;/****** 1 ******/*s = '0'+i%10;//*s = '1'+i%10;itoa(i/10,s-1);}void main(){long n;char str[7]="";scanf("%ld",&n);/****** 2 ******/itoa(n,str+5);//itoa(n,str+6);printf("%s",str);}itoa(n,str+5)什么意思?
查看完整描述

3 回答

?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

對串“123456”來說, 從str到str+5,因為是從0開始算的,沒有到str+6;
因為每次遞歸的時候都有把s〔k〕賦值啊,當i==0時結(jié)束,此時s=str-1;然后回朔,則剛好s=str時,*s='0'+1;
然后s++;
則*s='0'+2;
以此類推。就可以得到串s="123456" 了;因為你str有7個空間,且
str[6]='\0';所以可以%s 輸出 了。

查看完整回答
反對 回復 2023-03-08
?
catspeake

TA貢獻1111條經(jīng)驗 獲得超0個贊

itoa()函數(shù)將整數(shù)轉(zhuǎn)換為對應的字符串,保存到指定的字符數(shù)組中,
itoa(n,str+5)
將n轉(zhuǎn)換為字符串,保存到str+5字符數(shù)組中。

查看完整回答
反對 回復 2023-03-08
?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

1 *s = '0'+i%10;//*s = '1'+i%10;
是因為 '0'+3=>'3','0'+4=>'4',('0'的asc碼是48) 

2 itoa(n,str+5);//itoa(n,str+6); 
是因為你輸入的123456是六位數(shù),數(shù)組char str[7]=""是七位
從str[0]到str[6],但str[6]得存放
字符串'123456'后的'\0'結(jié)束字符,所以有效的是str[0]到str[5],
所以得是itoa(n,str+5)而不是itoa(n,str+6);


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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