使用fgets函数输入一个字符串,除了字符串前导*号之外,将串中其它*号全部删除。测试输入: ***A*BC**D***** 预期输出: ***ABCD
时间: 2023-12-23 10:03:25 浏览: 27
```c
#include <stdio.h>
#include <string.h>
void removeStars(char* str) {
int len = strlen(str);
int i, j;
j = 0;
for (i = 0; i < len; i++) {
if (str[i] != '*') {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
int main() {
char str[100];
fgets(str, sizeof(str), stdin);
removeStars(str);
printf("%s\n", str);
return 0;
}
```
相关问题
如何使用 fgets 函数来输入一行字符串,然后再使用 sscanf 函数来解析这个字符串并将数字存储在对应的变量中
您好,对于您的问题,以下是代码示例:
```c
#include <stdio.h>
int main() {
char input[100];
int num1, num2;
printf("请输入两个数字,以空格分隔:\n");
fgets(input, 100, stdin); // 从标准输入读取一行字符串
sscanf(input, "%d%d", &num1, &num2); // 从字符串中解析数字并存储到变量中
printf("您输入的数字为 %d 和 %d\n", num1, num2);
return 0;
}
```
以上示例中使用 fgets 函数从标准输入读取了一行字符串,并使用 sscanf 函数从字符串中解析出两个数字,分别存储到 num1 和 num2 两个变量中。最后输出了这两个数字。
如果您还有其他问题或疑问,欢迎继续提问。
使用指针不使用strlen函数输入一个字符串,统计该字符串的字符个数
好的,可以使用指针和字符数组来实现。以下是实现代码:
```c
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:\n");
fgets(str, MAX_LEN, stdin);
int count = 0;
char* p = str;
while (*p != '\0') {
count++;
p++;
}
printf("该字符串的字符个数为:%d\n", count-1); // 减1是为了排除换行符
return 0;
}
```
代码中使用了 `fgets()` 函数获取输入的字符串,遍历字符串时使用指针 `p`,统计字符个数。注意,因为 `fgets()` 函数会在字符串末尾添加一个换行符,所以最后输出字符个数时需要减1。