【发布时间】:2017-02-17 23:33:42
【问题描述】:
我输入的字符之间必须有空格。例如, + / 8 7 - 9 '\n' (当我按 Enter 时) 然后我把它们写成一个字符数组,里面有这样的东西:+/89-9。
如何跳过这些空格?
我想写点东西,但是没有用:
char *arr = new char[1000];
char ch;
scanf("%c", &ch);
int i = 0;
arr[0] = ch;
cout << arr[0];
while (ch != '\n')
{
//scanf("%c", &ch);
scanf("%*[ ]%c", &ch);
cout << (arr[i++] = ch);
}
arr[i++] = '\n';
【问题讨论】:
-
混合 C 和 C++ 是不行的,使用一个或另一个函数。
-
在循环的第一次迭代中,变量
i仍然为零,直到在您执行arr[i++] = ch之前。这意味着您会覆盖循环之前读取的第一个字符。 -
我的代码进入了无限循环,我无法纠正它,即使我改变了你所说的。