C语言 在字符串的某个位置插入一个字符 在线等 挺急的
答案:2 悬赏:70 手机版
解决时间 2021-11-15 13:28
- 提问者网友:椧運幽默
- 2021-11-14 14:27
C语言 在字符串的某个位置插入一个字符 在线等 挺急的
最佳答案
- 五星知识达人网友:西风乍起
- 2021-11-14 15:40
#include
#include
int Insert(char a[],char num,int a_i);
void main()
{
int a_i;
char a[50],num;
printf("请输入一个字符串:");
gets(a);
printf("请输入您想插入的一个字符:");
num=getchar();
getchar();
printf("请输入您想插入的位置:");
fflush(stdin);
scanf("%d",&a_i);
if (Insert(a,num,a_i))
}
int Insert(char a[],char num,int a_i)
{
int i;
if(a_i >= strlen(a))
{
printf("您输入的位置超出字符串长度了!");
return -1;
}
else
{
for(i=strlen(a);i >= a_i;i--)
{
a[i+1]=a[i];
}
a[i]=num;
return 0;
}
}
追问printf("请输入您想插入的位置:");
fflush(stdin);
scanf("%d",&a_i);
请问这里为什么不能用a_i=getchar(;)
#include
int Insert(char a[],char num,int a_i);
void main()
{
int a_i;
char a[50],num;
printf("请输入一个字符串:");
gets(a);
printf("请输入您想插入的一个字符:");
num=getchar();
getchar();
printf("请输入您想插入的位置:");
fflush(stdin);
scanf("%d",&a_i);
if (Insert(a,num,a_i))
printf("没有插入!
");
printf("插入后的字符串为:%s
",a);
}
int Insert(char a[],char num,int a_i)
{
int i;
if(a_i >= strlen(a))
{
printf("您输入的位置超出字符串长度了!");
return -1;
}
else
{
for(i=strlen(a);i >= a_i;i--)
{
a[i+1]=a[i];
}
a[i]=num;
return 0;
}
}
追问printf("请输入您想插入的位置:");
fflush(stdin);
scanf("%d",&a_i);
请问这里为什么不能用a_i=getchar(;)
全部回答
- 1楼网友:忘川信使
- 2021-11-14 16:42
因为你a_i输入的是字符,它的ASCII码比较大,转成int就比较大了,你把要比较的两个数用printf打印出来就知道了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯