【发布时间】:2021-04-09 23:07:19
【问题描述】:
我想设计一个程序,输入一个带空格的字符串,输出分割字符串和字母个数,但是我不知道“while (!ss.eof())”中的“word[]”是什么意思{}”。比如我输入“Programming is fun”,结果是
Programming
is
fun
Length:18
当我将 "word[i]" 更改为 word[0] 时,结果是
fun
Lenght:18
单词[1]是
fun
Lenght:18
谁能解释一下?
这是我的代码:
#include<iostream>
#include<sstream>
using namespace std;
void printStringArray(string word[], int size)
{
for (int i = 0;i < size;i++)
{
cout << word[i] << endl;
}
}
int main()
{
string word[10];
string str;
getline(cin, str);
stringstream ss(str);
int i = 0;
while (!ss.eof())
{
ss >> word[i];//P
i++;
}
printStringArray(word, 3);
cout << "Lenght:" << str.size();
return 0;
}
【问题讨论】:
-
这能回答你的问题吗? The Definitive C++ Book Guide and List
-
您应该使用调试器一步步完成您的代码。进行更改后,行为应该很明显。否则,请在执行程序时使用笔和纸记下变量及其值。
标签: c++ arrays string stringstream