#include<iostream>
using namespace std;
int main() {
char s[] = "we ae djkjl dd";
int i = 0, j = 0;
while (s[i] != '\0') {
if (s[i] != ' ')
s[j++] = s[i];
i++;
}
s[j] = '\0';
cout << s << endl;
return 0;
}
这段代码的功能是将字符串中的空格删除,并输出结果。
首先,在程序开头定义了一个字符数组 s
,并将一个字符串 "we ae djkjl dd"
赋值给它。然后定义了两个整型变量 i
和 j
,分别用于遍历原字符串和修改后的字符串。
接下来,使用 while 循环遍历原字符串 s
中的每个字符,条件为 s[i] != '\0'
,即当字符不是字符串结束符时循环执行。
在循环体内,if 语句判断当前字符是否为空格,如果不是,则将该字符赋值给新字符串 s
中的对应位置,并将 j
的值加 1。这样就可以在新字符串中跳过空格,只保留其他字符。
在每次循环后,i
的值加 1,以便遍历下一个字符。
最后,在新字符串的末尾加上字符串结束符 '\0'
,以确保输出的字符串以正确的方式终止。
最后一行使用 cout 输出了修改后的字符串 s
,并在结尾加上换行符。程序返回 0 表示正常退出。
总体来说,这段代码实现了一个简单的字符串操作,可以帮助更好地理解 C++ 中字符数组和字符串的用法。