对结果不明请指点~~~

KimChen 2003-11-07 09:24:14
#include<stdio.h>

main()
{
int i;
int count(int);
for(i=1;i<=10;i+){
count(i);
}
}

int count(int n)
{
int x;
printf("%d:x=%d,",n,x);
x+=2;
printf("x+2=%d",x);
}
...全文
43 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
KimChen 2003-11-13
  • 打赏
  • 举报
回复
如果把i定义在main()函数外~x的值就真的是不确定值了~
KimChen 2003-11-13
  • 打赏
  • 举报
回复
而且是跟main()中的i是相同的,改i=1为i=3;count()中的x也跟着变~
KimChen 2003-11-13
  • 打赏
  • 举报
回复
各位大哥:
我问的就是因为x没有初始化,所以应该是不确定值,但我怎样试都是同一结果,我不明的就是这点,请解答?

int count(int)在TC2.0中是允许的.程序也是在TC2.0中运行通过的.

count函数是没有意义的.我问的不是这个~.
021850524 2003-11-09
  • 打赏
  • 举报
回复
to wmzlq(wmzlq) :
为什么函数声明不可以在函数体内?
我认为是可以的.
TianGuangZao 2003-11-09
  • 打赏
  • 举报
回复
to zhaochong12(笨鸟侠) :
......
main()
{
int i;
int count(sizeof(int)); ----------> 语法错误
for(i=1;i<=10;i+){ --------------> i+ ?
count(i);
}
}
......
修改如下:
......
int main(void)
{
int i;
for (i = 1; i <= 10; i++)
count(i);
return 0;
}
楼主没讲 count 函数的功能,就不猜了。
tibetan 2003-11-09
  • 打赏
  • 举报
回复
wmzlq(wmzlq) ( ) 信誉:99

函数原形的申明,可以放在函数中申明!
Wolf0403 2003-11-09
  • 打赏
  • 举报
回复
int count(int) 是声明下面那个函数。
qufan 2003-11-09
  • 打赏
  • 举报
回复
同意,接分
playboyxp 2003-11-09
  • 打赏
  • 举报
回复
你的代码有问题
没见过有这样的声明int count(int);
leyt 2003-11-08
  • 打赏
  • 举报
回复
同意,接分
sharkhuang 2003-11-08
  • 打赏
  • 举报
回复
严重同意
kdush 2003-11-08
  • 打赏
  • 举报
回复
上面几位大哥说的很清楚了!
我没啥好说的了!
hslinux 2003-11-07
  • 打赏
  • 举报
回复


没有返回值的函数的类型应为void,函数的声明放在main()外而不是放在main()里,没有初始化的变量的值是不可预测的,

zhaochong12 2003-11-07
  • 打赏
  • 举报
回复
稍微修改了一下,大概比较符合楼主的意思了~
接分快乐~^_^~

#include<stdio.h>
int count(int n);
main()
{
int i;
int count(sizeof(int));
for(i=1;i<=10;i+){
count(i);
}
}

int count(int n)
{
static int x=0;
printf("%d:x=%d,",n,x);
x+=2;
printf("x+2=%d",x);
}
wu_apple 2003-11-07
  • 打赏
  • 举报
回复
#include<stdio.h>
int count(int);
main()
{
int i;
//int count(int);
for(i=1;i<=10;i++)
{
count(i);
}
}

int count(int n)
{
int x = 0;
printf("%d:x=%d,",n,x);
x+=2;
printf("x+2=%d\n",x);
return 1;
}
wmzlq 2003-11-07
  • 打赏
  • 举报
回复
几个错误,都在旁边注释了
main()
{
int i;
int count(int); //函数的原型说明不能嵌套在另一函数中
for(i=1;i<=10;i+){
count(i);
}
}
int count(int n)
{
int x;
printf("%d:x=%d,",n,x);//x没有初始化,拿来用就没有意思了
x+=2;
printf("x+2=%d",x);
}

luohualiushui 2003-11-07
  • 打赏
  • 举报
回复
编译不会通过
daizh 2003-11-07
  • 打赏
  • 举报
回复
你的目的是下面程序所要实现的功能吧。
#include<stdio.h>

void count(int);

void main()
{
int i;

for(i=1;i<=10;i++){
count(i);
}
}

void count(int n)
{
static int x =0;//<---------------静态变量
printf("%d:x=%d,",n,x);
x+=2;
printf("x+2=%d\n",x);
}
ssbull 2003-11-07
  • 打赏
  • 举报
回复
你的变量x没有初始化,也没有赋值,打印显示的结果应该不是你要的答案

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧