鱼C论坛

 找回密码
 立即注册
查看: 1426|回复: 2

[已解决]请大佬帮忙检查下这段代码2!!!

[复制链接]
发表于 2021-3-19 14:23:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
void fun4(char* p4)
{
        int i, j, k=0;
        for (i = 0; p4[i]; i++);   //i用来计算字符串里的字符个数
        for(j=0;p4[j]!='*';j++)   p4[k++] = p4[j];
        p4[k] = '\0';
        for (i = 0; i<k; i++)
                cout << p4[i];
}
  


次代码的目的是消除字符串里所有星星,如****asd***as**变为asdas,可是我为啥运行不出来结果呀?

编译器直接显示按任意键退出程序,明明结果都没显示!
最佳答案
2021-3-19 14:52:56
本帖最后由 jackz007 于 2021-3-19 14:57 编辑

        这一句要不得
        for(j=0;p4[j]!='*';j++)   p4[k++] = p4[j];
        它会在 p4[j] 是 '*' 字符时终止循环,如果字符串以 '*' 字符为先导,那么,这个语句就不会对 p4 做出任何改变。
void fun4(char * p4)
{
        int i , j                                                       ;
        for(i = j = 0 ; p4[i] ; i ++) if(p4[i] != '*') p4[j ++] = p4[i] ;
        p4[j] = '\0'                                                    ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-19 14:52:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-3-19 14:57 编辑

        这一句要不得
        for(j=0;p4[j]!='*';j++)   p4[k++] = p4[j];
        它会在 p4[j] 是 '*' 字符时终止循环,如果字符串以 '*' 字符为先导,那么,这个语句就不会对 p4 做出任何改变。
void fun4(char * p4)
{
        int i , j                                                       ;
        for(i = j = 0 ; p4[i] ; i ++) if(p4[i] != '*') p4[j ++] = p4[i] ;
        p4[j] = '\0'                                                    ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-19 18:24:46 | 显示全部楼层
jackz007 发表于 2021-3-19 14:52
这一句要不得

        它会在 p4[j] 是 '*' 字符时终止循环,如果字符串以 '*' 字符为先导,那 ...

谢谢你,原来我还是语法规则没弄明白。我得回去好好复习一下了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 03:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表