谁能帮忙看一下这个程序,为啥第二个scanf函数不执行?
#include<stdio.h>#include<string.h>
#define MAXSIZE 100
void main()
{
void deletechar(char x,char str[]);
void uppercase(char x,char str[]);
void lowercase(char x,char str[]);
char str[MAXSIZE];
char s;
printf("请输入字符串:\n");
gets(str);
printf("请输入要删除的字符:");
scanf("%c",&s);
deletechar(s,str);
printf("请输入要小写的字母(该字母为大写):");
scanf("%c",&s);
lowercase(s,str);
printf("请输入要大写的字母(该字母为小写):");
scanf("%c",&s);
uppercase(s,str);
}
void deletechar(char x,char str[])
{
int i,j,n=0;
char c,r;
for(i=0;(c=str[i])!='\0';i++)
{
if(x==str[i])
{
n=1;
for(j=i;(r=str[j])!='\0';j++)
str[j]=str[j+1];
}
}
if(n==0) printf("\n查无次字母!\n");
printf("新的字符串为:\n");
puts(str);
}
void uppercase(char x,char str[])
{
int i,n=0;
char c;
for(i=0;(c=str[i])!='\0';i++)
{
if(x==str[i])
{
n=1;
str[i]=str[i]-32;
}
}
if(n==0) printf("\n查无次字母!\n");
printf("新的字符串为:\n");
puts(str);
}
void lowercase(char x,char str[])
{
int i,n=0;
char c;
for(i=0;(c=str[i])!='\0';i++)
{
if(x==str[i])
{
n=1;
str[i]=str[i]+32;
}
}
if(n==0) printf("\n查无次字母!\n");
printf("新的字符串为:\n");
puts(str);
}