标题:很简单的问题,请教一下. 只要变换一下顺序就编译出错,这是为什么???
只看楼主
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
结帖率:100%
已结贴  问题点数:14 回复次数:3 
很简单的问题,请教一下. 只要变换一下顺序就编译出错,这是为什么???
#include "stdio.h"
#include "conio.h"
#include<stdlib.h>
  void hello_word(void)
{
    printf("hello word\n");
}
void three_word(void)
{
hello_word();
 int counter;

 for(counter=1;counter<=8;counter++)
 printf("hello word\n");
     }  
int main(void)
{
three_word();
system("pause");
return 0;
}
    变换一下其中的先后顺序后为什么编译不出来啊???(颜色部分为变换后的程序)
  #include "stdio.h"
#include "conio.h"
#include<stdlib.h>
 void three_word(void)
{
hello_word();
 int counter;
 for(counter=1;counter<=8;counter++)
 printf("hello word\n");
     }  
 void hello_word(void)
{
    printf("hello word\n");
}

int main(void)
{
three_word();
system("pause");
return 0;
}
搜索更多相关主题的帖子: counter include system return hello 
2013-09-05 21:05
木蕊
Rank: 2
等 级:论坛游民
帖 子:32
专家分:26
注 册:2013-6-22
得分:1 
使用函数三步骤:
1.必须先进行函数的声明 void hello_word(void);
2.在进行函数的定义
void hello_word(void)
{
printf("hello word\n");
}
3.最后 在进行函数的调用  hello_word();
2013-09-05 21:47
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:13 
额   我想说一下   你定义的两个函数都在 主函数 前面   ,所以没有 函数声明 也可以
 但是,你把 void three_word(void),调到  void hello_word(void) 前面 就不行了,
因为 void three_word(void) 周调用到了  void hello_word(void),而之前你没给出
void hello_word(void) 的定义,所以程序出错

总结一下   还是建议 声明一下函数 ,从程序结构化角度说,这是必要的

三十年河东,三十年河西,莫欺少年穷!
2013-09-05 22:09
lucasjames
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2013-6-22
得分:0 
调用到的函数要先声明,你把那个函数名都在开始的地方声明以后就正确了。
2013-09-06 16:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-420175-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.155821 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved