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

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

C++編程問題請大神賜教謝謝

C++編程問題請大神賜教謝謝

C++
梵蒂岡之花 2018-10-23 17:17:46
下面代碼為什么會提示沖突int replace(char*str, char c1, char c2) {int count = 0;int i = 0;while (*str != '\0') {if (str[i] = c1){str[i] = c2;count++;}i++;}return count;}int main(){char A[5] = "abcd";cout << "count:" << replace(A, 'a', 'f') << endl << "A" << A;return 0;}
查看完整描述

2 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

1、星str表示char數組的第一個元素,所以永遠不可能=\0,while死循環,i一直自增,str[i]越界
2、str[i] = c1;是賦值,str[i] = =c1才是判斷

查看完整回答
反對 回復 2018-11-03
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

來,給你改了一下,運行試試:

 int replace(char*str, char c1, char c2) {
    int count = 0;
    int i = 0;
    while (str[i] != '\0') {
        if (str[i] == c1){
            str[i] = c2;
            count++;
        }
        i++;
    }
    return count;
}

int main()
{
    char A[5] = "abcd";
    cout << "count:" << replace(A, 'a', 'f') << endl << "A:" << A;
    return 0;
}


查看完整回答
反對 回復 2018-11-03
  • 2 回答
  • 0 關注
  • 716 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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