C语言如何删除字符串中空格不使用指针
时间: 2024-12-19 18:14:23 浏览: 13
C语言实现去除字符串中空格的简单实例
在C语言中,如果你想删除字符串中的空格但不使用指针,可以采用数组和字符循环的方式来实现。这里有一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
void remove_spaces(char str[]) {
int i = 0;
for (int j = 0; str[j] != '\0'; j++) { // 遍历整个字符串
if (str[j] != ' ') { // 如果遇到非空格字符
str[i++] = str[j]; // 将字符复制到新位置
}
}
str[i] = '\0'; // 在结束位置添加终止符
}
int main() {
char test_str[] = "Hello World! This is a test.";
printf("Original string: %s\n", test_str);
remove_spaces(test_str);
printf("After removing spaces: %s\n", test_str);
return 0;
}
```
在这个示例中,`remove_spaces`函数通过遍历输入字符串,并只保留非空格字符,实现了去除非空格的效果。最后,记得更新字符串数组的结尾处添加终止符`\0`。
阅读全文