给字符型变量赋初值时,可以正常运行。输入一个字符给字符型变量时,没有运行结果。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char str[] ="I like playing basketball!";
printf("%s\n",str);
char c;
printf("请输入想删除的字符:");
scanf("%s",&c);
//c=getchar();
printf("%s\n",c);
for(int i=0;i<strlen(str);i++)
{
if(str[i]==c)
{
for(int j=i;j<strlen(str);j++)
{
str[j]=str[j+1];
}
}
}
printf("%s\n",str);
return 0;
}
运行结果截图:
两种输入方式都是上图的结果。如果使用字符型指针,代码该如何修改?该算法的时间复杂度为O(mn),如何提高算法的时间复杂度?