题目:编写一程序实现将用户输入的一字符串中所有的字符'c'删除,并输出结果
//编写一程序实现将用户输入的一字符串中所有的字符‘c’删除,并输出结果
#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
char str[N], strtemp[N];
unsigned int i, j;
printf("input a string:");
gets(str);
for (i = 0, j = 0; i < strlen(str); i++)
if (str[i] != 'c')
strtemp[j++] = str[i];
strtemp[j] = '\0';
strcpy(str, strtemp/*, strlen(strtemp) * sizeof(char)*/);
printf("After delete charactor \'c\':");
printf("%s\n", str);
return 0;
}
运行到strlen函数时报错出现以下提示:
C6054:可能没有为字符串“str”添加字符串零终止符
gets(str);
for (i = 0, j = 0; i < strlen(str); i++)
if (str[i] != 'c')
strtemp[j++] = str[i];
问:gets函数不是会自动将输入字符串的 \n 转换成 \0 吗?这里是那里出现问题了呢?需要怎么修改呢?
求大佬指点指点!感恩!!
注:
编译器是VS 2022