c语言有一个字符串,“******abc*****”,把前面的“*”删除,如,输出为“abc*****”。
时间: 2024-06-25 22:00:21 浏览: 123
c语言输出一串字符串
在C语言中,你可以使用标准库函数`strcpy()`和`strlen()`来实现这个功能。首先,你需要计算出原始字符串中的星号(*)的数量,然后创建一个新的字符串,只包含非星号的部分。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void removeStars(char* str) {
int starCount = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == '*') {
starCount++;
} else {
// 如果不是星号,复制到新字符串
str[starCount++] = str[i];
}
}
// 将新字符串的结束符'\0'设在最后一个星号之后
str[starCount] = '\0';
}
int main() {
char input[] = "******abc*****";
char output[strlen(input) + 1]; // 预留一个额外的空间给结束符
removeStars(input);
printf("Output: %s\n", output); // 输出: "abc*****"
return 0;
}
```
在这个例子中,`removeStars()`函数遍历输入字符串,跳过星号并复制其他字符到`output`数组中。最后,`main()`函数中打印处理后的字符串。
阅读全文