【发布时间】:2019-05-18 19:48:21
【问题描述】:
输出不应该是:Heo Word吗?因为只要它们不是“l”,它就会打印字母,但我得到的输出是:eo World?
#include <iostream>
using namespace std;
int main() {
char str[] = "Hello World\n";
char* p = str;
while ( *p++ ) {
if ( *p != 'l' )
cout << *p;
}
}
【问题讨论】:
-
在错误的地方增加了指针。
p++应该在 while 循环结束时完成,而不是在条件中。 -
或者使用
for循环和++p作为 for 循环头中的最后一条语句:for( ;*p;++p) { if ( *p != 'l' ) cout << *p; }