#include <stdio.h> #include <string.h> void removeTrailingSpaces(char *str) { int len = strlen(str); int i=6; while(len!='\0') { str[i] = '#'; i++; } printf("变换后的字符串为:%s",str); } int main() { char str[100]; printf("请输入字符串:"); scanf("%[^\n]%*c", str); removeTrailingSpaces(str); return 0; }
时间: 2024-04-22 14:27:49 浏览: 208
福建省计算机二级考试C语言上机题库改错填空编程.doc
你的代码还是存在一些问题。在 `removeTrailingSpaces` 函数中,你使用了错误的条件来判断字符串是否结束。另外,你将循环中的条件设置为 `len != '\0'`,这是错误的,应该使用 `str[i] != '\0'` 来判断字符串是否结束。
以下是修正后的代码:
```c
#include <stdio.h>
#include <string.h>
void removeTrailingSpaces(char *str) {
int len = strlen(str);
int i = 0;
while (str[i] != '\0') {
str[i] = '#';
i++;
}
printf("变换后的字符串为:%s\n", str);
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%[^\n]%*c", str);
removeTrailingSpaces(str);
return 0;
}
```
在修正后的代码中,我们使用 `str[i] != '\0'` 来判断字符串是否结束,并将每个字符替换为 `#`。最后,输出变换后的字符串到标准输出。
阅读全文