qq_45735316 2019-12-04 18:50 采纳率: 94.1%
浏览 369
已采纳

第7题这输出的是什么鬼呀?是代码有问题还是方法有问题?

#include
#include
#include 图片说明图片说明

#define M 10
/* run this program using the console pauser or add your own getch, system("pause") or input loop /
/*238-7.编写删除除在前导位置外的其他的‘
’号的函数,不得使用C语言提供的字符串函数。*/
char fun(char s1)
{
char *s2,*s3,str2[M]={0},str3[M]={0};
s2=str2;
s3=str3;
int i,j,n=0;
while(
(s1++)!='*')
{
n++;
}
for(i=0;i<=n;i++)
{
str3[i]='*';
}
for(i=0,j=0;i>n&&*(s1+i)!='\0';i++)
{
if(*(s1+i)='*')
{
(s2+j)=(s1+i);
}

}
strcat(s3,s2);
return *s2;

}
int main(int argc, char *argv[])
{
char str[M]={0},*s1;
s1=str;
scanf("%[^\n]",str);
printf("%s",fun(s1));
return 0;
}


  • 写回答

1条回答 默认 最新

  • J4cks0n 2019-12-04 21:01
    关注
    void fun(char *str_raw, char *str_result)
    {
        int flag = 0;//标记第一个非*
    
        //遍历输入的字符串
        while(*str_raw != '\0')
        {
            if(*str_raw != '*')
            {
                flag = 1;
            }
    
            if(flag == 1)
            {
                if(*str_raw != '*')
                {
                    *str_result = *str_raw;
                    str_raw++;
                    str_result++;
                }
                else
                {
                    str_raw++;
                }
            }
            else
            {
                *str_result = *str_raw;
                str_raw++;
                str_result++;
            }
        }
    }
    
    int main()
    {
        char str_raw[1024] = {0};       //原始字符串
        char str_result[1024] = {0};    //处理后字符串
    
        //输入
        scanf("%s", str_raw);
    
        //调用函数处理输入 并存储输出
        fun(str_raw, str_result);
    
        //输出
        printf("%s", str_result);
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记