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

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

C語言改錯題,題目是:輸入一串字符,并在字符串中從第m個字符開始截取n個字符

C語言改錯題,題目是:輸入一串字符,并在字符串中從第m個字符開始截取n個字符

C
包小龍蝦 2018-08-07 15:28:02
C語言改錯題,題目是:輸入一串字符,并在字符串中從第m個字符開始截取n個字符#include <stdio.h>#include <string.h>void main(){char str[100],sub[100];int m,n,len,i;printf("Enter string:");gets(str);printf("\nEnter m n:");scanf("%d%d",&m,&n);len=strlen(str);if( m-1+n>len )printf("Can't run with %d and %d!\n",m,n);else{ i=0;/**/ while(i<=n) /**/ i<n{/**/ sub[i]=str[m+i]; /**/ sub[i]=str[m+i-1];i++;}/**/ sub[i]='\n'; /**/ sub[i]='\0'printf("sub string is:%s\n",sub);}getch();}請問中間改錯那些為什么是那樣子,怎么解釋:輸入一串字符,并在字符串中從第m個字符開始截取n個字符求程序整個過程解析
查看完整描述

2 回答

?
Eric_溫水之蛙

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

str[0]?=?1
str[1]?=?2
str[2]?=?3
str[3]?=?4
str[4]?=?5
str[5]?=?6
str[6]?=?7
str[7]?=?8
str[8]?=?9
m=3,n=4
循環(huán)1:
i?=?0
判斷i<n?=>?0<4?->?true
sub[i]=str[m+i-1]?=>sub[0]=str[3+0-1]?->?sub[0]?=?3
i++?->?i=1
循環(huán)2:
i?=?1
判斷i<n?=>?1<4?->?true
sub[i]=str[m+i-1]?=>sub[1]=str[3+1-1]?->?sub[1]?=?4
i++?->?i=2
循環(huán)3
i?=?2
判斷i<n?=>?2<4?->?true
sub[i]=str[m+i-1]?=>sub[2]=str[3+2-1]?->?sub[2]?=?5
i++?->?i=3
循環(huán)4:
i?=?3
判斷i<n?=>?3<4?->?true
sub[i]=str[m+i-1]?=>sub[3]=str[3+3-1]?->?sub[0]?=?6
i++?->?i=4
循環(huán)5:
i?=?4
判斷i<n?=>?4?<?4?->?false
跳出while
sub[i]?=?'\0??=>?'sub[4]?='\0'
此時sub的值為
sub[0]?='3'
sub[1]?='4'
sub[2]?='5'
sub[3]?='6'
sub[4]?='\0'


查看完整回答
1 反對 回復(fù) 2018-08-08
?
Eric_溫水之蛙

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

輸入一串字符:123456789
從第2個字符開始截取5個字符
得到一串字符:23456

查看完整回答
1 反對 回復(fù) 2018-08-07
  • Eric_溫水之蛙
    Eric_溫水之蛙
    記得數(shù)組是以0開始的。 然后字符串以\0結(jié)尾。
  • 包小龍蝦
    包小龍蝦
    那為什么 while(i<=n) /**/ i<n。為什么這邊不能等于啊,沒有等于的話,如果說從第三個字符開始截取四個字符,沒有等于的話,不就只截取了3個字符嗎,最后一個字符變成\0了
  • Eric_溫水之蛙
    Eric_溫水之蛙
    你可以從簡單的開始,取一個字符。如果i=n,那就取了兩個字符了
點擊展開后面3
  • 2 回答
  • 0 關(guān)注
  • 1903 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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