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

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

一道關(guān)于字符串中刪除數(shù)字的問題

一道關(guān)于字符串中刪除數(shù)字的問題

C
肥宅樂 2016-11-04 22:12:45
程序沒有問題。str[j++]=str[i]這是什么意思啊???# include <stdio.h>#include <stdlib.h>void DropNum(char* str){int i=0;int j=0; while(str[i]!='\0') { if(str[i]>'9'||str[i]<'0') str[j++]=str[i]; i++; } str[j]='\0';//字符串最后一個字符時'\0'}void main(){char ch[] = "abcd123efg456hijk";? ? DropNum(ch);printf("%s\n",ch);}
查看完整描述

2 回答

已采納
?
Yexiaomo

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

//需要先明白那個算法的 原理,-->(

-->也就是重新整理數(shù)組, ?看那個if 語句, 如果不是 數(shù)字的話執(zhí)行: ?str[j++]=str[i];

-->j 是新的數(shù)組 的下標(biāo), 從零開始, 如果不是 數(shù)字, 將 str[i] 的值存放到 str[j]中

看 j++ ?, ?自增 符號 ? 在后面, 所以是先進(jìn)行 ‘++’之外的運算(也就是比‘++’運算級高的運算), 然后在 自增1,?

?str[j++]=str[i]; ? 這條語句, 相當(dāng)于下面這兩條語句:

str[j] = str[i];

j++;

不知道你能不能看懂, 不懂了, 在下面回復(fù)

-------------------------------------------------------------分割線----------------------------------------------------------啦啦~~Imcainiao

查看完整回答
1 反對 回復(fù) 2016-11-04
  • 肥宅樂
    肥宅樂
    那請問最后再定義了一個[j]為空是什么意思呢? 之前的while循環(huán)不是已經(jīng)遍歷完了嗎?
  • Yexiaomo
    Yexiaomo
    啊哈! 再看看那個 語句 在哪循環(huán)里面, 是在while循環(huán)里面, 也就是說, while循環(huán)執(zhí)行一次, 這個語句就會執(zhí)行 一次, 這個語句就保證了 這個 數(shù)組的 最后一個元素就是以 '\0' 結(jié)尾的元素, while循環(huán)的判斷的條件 僅僅是為了 讓數(shù)組遍歷一遍.... 你搞混了, 所以如果還是不懂, 最好自己在紙上 過一遍, 這就會理解會更深刻,不用太長, "a1b2c" 這個就可以
?
一葉追尋

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



如果str[ i ]這個位置的字符不是數(shù)字,就把這個字符放到 str[ j ] 這個新的數(shù)組里,放了之后 j 自增1 ,以便存放下一個字符


查看完整回答
反對 回復(fù) 2016-11-04
  • 2 回答
  • 0 關(guān)注
  • 1507 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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