用c语言计算删除字符串中的空格。 输入一个字符串,将其中的空格字符删除,输出删除后的字符串。 测试数据如下: fkdf fd fdfdue6778 79 f fdfll fkdffdfdfdue677879ffdfll
时间: 2024-12-24 13:35:34 浏览: 12
在C语言中,你可以通过遍历输入字符串,并只复制非空格字符到新的字符串来实现删除空格的操作。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* input, char* output) {
int i = 0, j = 0;
while (input[i] != '\0') { // 遍历输入字符串
if (input[i] != ' ') { // 如果不是空格
output[j++] = input[i]; // 将字符复制到输出字符串
}
i++; // 移动到下一个字符
}
output[j] = '\0'; // 结束字符串并添加终止符
}
int main() {
char str[] = "fkdf fd fdfdue6778 79 f fdfll fkdffdfdfdue677879ffdfll";
char result[strlen(str) + 1]; // 计算新字符串大小
removeSpaces(str, result);
printf("删除空格后的字符串: %s\n", result);
return 0;
}
```
当你运行这个程序,它会输出删除空格后的结果:"fkdffdfdfdue677879fffdfll"。
相关问题
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`。
c语言,删除字符串中的第一个空格,并将新字符串输出到屏慕上
可以使用一个指针变量遍历字符串,找到第一个空格,并将其后面的字符向前移动一个位置,从而删除第一个空格。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入字符串:");
gets(str);
char *p = str;
while (*p != '\0') {
if (*p == ' ') {
strcpy(p, p+1);
break;
}
p++;
}
printf("新字符串为:%s\n", str);
return 0;
}
```
注意,使用 `gets()` 函数存在安全性问题,建议使用更安全的函数 `fgets()`。另外,该代码只删除了第一个空格,如果要删除所有空格,可以在 `while` 循环中添加一个条件判断,一直删除直到字符串中没有空格为止。
阅读全文