C语言给定程序中,函数void fun(char *s)的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。

2025-03-21 04:39:04
推荐回答(3个)
回答1:

#include

#include

voidfun(char*s)

{

inti,j,k;

for(i=0;s[i]!='\0';i++)

{

if(s[i]>='0'&&s[i]<='9')

{

for(j=strlen(s);j>i;j--);

s[j+1]=s[j];

s[i+1]='*';

}

}

}

voidmain()

{charstr[80];

gets(str);fun(str);

puts(str);

}

扩展资料

函数fun(char*s)的使用

#include

#include

voidfun(char*s)

{

while(*s)

{

if(*s=='z')*s++='a';

if(*s=='Z')*s++='A';

if(*s<'z'&&*s>='a'||*s<'Z'&&*s>='A')

*s=*s+1;

s++;

}

}

main()

{

charstr[30];

printf("请输入字符串:");

gets(str);

fun(str);

printf("输出的结果为:");

puts(str);

}

回答2:

你每次移动字符串时没有移字符串结尾符0,导致最终字符串不是以0结束出错
将你程序中的 for(j=strlen(s)-1;j>i;j--)改成 for(j=strlen(s);j>i;j--)即可

回答3:

定义的时候赋初值就好了
char str[80] = {0};