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

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

請幫看下下面#include "iostream" using namespace std;

請幫看下下面#include "iostream" using namespace std;

SMILET 2021-12-08 11:07:41
#include "iostream"using namespace std;int main(){char *p[5] ;for (int i = 0; i < 5; i++){p[i] = (char *)calloc(100, sizeof(char));}cout << "please input an number such as \"one hundred"" and twenty five\"" << endl;for (int i = 0; i <= 5; i++){char ch = cin.get();while (ch != ' ' || ch != '\0'){*p[i]++ = ch;ch = cin.get();}if (ch == '\0') break;}for (int i = 0; i < 5; i++){cout << p[i];}return 0;}我想從鍵盤輸入到一段字符串,然后將這段字符串從空格處拆分開到一個指針數組里面,知道字符串結尾現在我我輸入 one hundred and twelve 的時候老是不成功請高手幫我看下
查看完整描述

1 回答

?
躍然一笑

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

1、cin.get函數不會接收到'\0'這種字符,輸入回車后結束輸出,因此接收到的應該是'\n'。

2、while的循環(huán)條件,ch != ' ' || ch != '\n'(這里換成\n),不等于空格或者不等于回車,那這不就是永遠為真的?應該是&&吧。

3、*p[i]++ = ch; p的指針已經被++了,后面還怎么能當做cout的首地址呢。

應該改成這個樣子吧


    char *p[5] ;    char *q;    for (int i = 0; i < 5; i++)    {        p[i] = (char *)calloc(100, sizeof(char));    }     cout << "please input an number such as \"one hundred"        " and twenty five\"" << endl;         for (int i = 0; i <= 5; i++)    {        q = p[i];        char ch = cin.get();        while (ch != ' ' && ch != '\n')        {                         *q++ = ch;            ch = cin.get();        }        if (ch == '\n'break;     }         for (int i = 0; i < 5; i++)    {        cout << p[i];    }


查看完整回答
反對 回復 2021-12-12
  • 1 回答
  • 0 關注
  • 294 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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