воин
2019-04-14 19:58
采纳率: 80%
浏览 2.7k

我想把输入的字符都存入一个字符数组里,请问该怎么做?

#include

using namespace std;

int main()

{

char *a[5];
for (int i = 0; i < 5; i++){
    char t[100];
    cin >> t;
    a[i] = t;
}
for (int j = 0; j < 5; j++){
    cout << a[j] <<endl;
}
return 0;

}

现在的这段代码总是只能输出我输入的最后一个字符串,请问错在哪,该怎么该呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2019-04-15 09:54
    已采纳

    for (int i = 0; i < 5; i++){
    char t[100];
    cin >> t;
    a[i] = t;
    }
    ->

    for (int i = 0; i < 5; i++){
    a[i] = new char [100];
    cin >> a[i];
    }

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 泡视界 2019-04-15 11:35

    朋友,你到底是要输出字符串还是字符?
    字符串要用char数字存放,并且末尾为0,字符可以用char存放,你要存放多个字符,那就是字符串,末尾请保留一个0的位置。

    1.你要存放字符的话,char t[100];cin >> t;a[i] = t;这三句怎么能实现呢?,每次t里面都有两个字符,你把两个字符存在一个char里?
    2.你要存放字符串的话,char *a[5];这可不能存放5个字符串,只能存放5个字符或者一个4字符的字符串

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题