搜索
查看: 1554|回复: 20
打印 上一主题 下一主题

请问为什么编译不了?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-20 16:52:02 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
#define MAXELS 14
int main()
{
        void remove(char [],char);
    char message[MAXELS]="HappyHolidays";
    char aph='H';
    int i;
    printf("%s",message);
    system("pause");
    return 0;
}

沙发
 楼主| 发表于 2014-4-20 22:15:36 | 显示全部楼层
李掌柜 发表于 2014-4-20 17:18
你这段代码这几句好像是多余的吧?

嗯,是多余的!
板凳
 楼主| 发表于 2014-4-20 22:38:19 | 显示全部楼层
rosynirvana 发表于 2014-4-20 17:59
好好看编译器给出的提示

你写了个声明void remove(char*, char);

请问如何注释掉?删除不用有影响吗?
地板
 楼主| 发表于 2014-4-20 22:55:04 | 显示全部楼层
不好意思,打错一个字,是删除不会对输出/输入有影响吗?
5#
 楼主| 发表于 2014-4-20 23:03:36 | 显示全部楼层
我这个是一个函数原型来的。怎么可以删去呢?
6#
 楼主| 发表于 2014-4-20 23:28:49 | 显示全部楼层

这个程序是用要求册除字符'H"

本帖最后由 rosynirvana 于 2014-4-20 23:32 编辑
rosynirvana 发表于 2014-4-20 23:08
你这段代码里又没有remove这个函数
如果其他地方有,那要改个名字,不能用remove这个名字

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAXELS 14
  4. int main()
  5. {
  6.         void remove(char [],char);
  7.         char message[]="HappyHolidays\n";
  8.         char delh='H';
  9.         printf("%s",message);
  10.         remove(message,delh);
  11.         int i;
  12.         for(i=0;i<MAXELS;i++)
  13.         {
  14.                 printf("%c",message[i]);
  15.         }
  16.         system("pause");
  17.         return 0;
  18. }
  19. void remove(char *message,char delh)
  20. {
  21.         char *a=message;
  22.         while(*message++)
  23.         {
  24.                 if(*message++==delh)
  25.                 ;
  26.                 else
  27.                 *a++=*message++;
  28.                
  29.                  
  30.                
  31.         }
  32. }
复制代码



7#
 楼主| 发表于 2014-4-21 17:16:24 | 显示全部楼层
rosynirvana 发表于 2014-4-20 23:44
首先,函数声明写在某个函数之类是蹩脚的写法
所有函数声明都应该写在全局作用域中

message长度为什么不是14?
8#
 楼主| 发表于 2014-4-21 17:37:44 | 显示全部楼层
rosynirvana 发表于 2014-4-21 17:28
你忘了最后的休止字符'\0'了吧

好像是啊!好了,谢谢你!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表