C语言中函数问题?

来源:百度知道 编辑:UC知道 时间:2024/05/06 12:24:25
现在学到函数头都蒙了,希望大虾能指点一二.比如有个题 我不知道怎么算的:

int i=10;
main()
{
int j=1;
j=func();
printf("%d",j);
j=func();
printf("%d",j);
}
func()
{int k=0;
k=k+1;
i=i+10;
return(k);
}
请问输出的结果是什么?

我注重的不是结果,而是大虾门你怎么算的 为什么??谢谢大虾!
int i=10;
main()
{
int j=1;
j=func();
printf("%d",j);
j=func();
printf("%d",j);
}
func()
{int k=0;
k=k+i;
i=i+10;
return(k);
}

大虾门对不起 我题抄错了 把i写成1了
这回帮我看看 大家!

这是编译程序的问题
在函数func执行到最后,k=1;函数返回时把返回值赋给j,所以两次输出j都为1
另外你这个程序有问题,首先func函数返回值类型不明确,其次没有进行函数声明,因此编译不过
最后祝你能够克服这个困难!学好C语言

输出:11
因为是return k所以返回的值是k,在函数func()中k的值是1,而j=func()就是说它被富于的值就是func()的返回值.你这个程序是没有问题的.不过在func()前最好加上返回类型.

应该输出11,首先你要在前面声明一下func()然后才可以使用func,当程序执行到j=func();这句话时,程序将控制权转交给函数func,开始执行func中的代码,func实现的功能是返回1,此时最好在func定义的前面加上返回类型int,不加也可以编译通过,所以j每次都被赋值为1

按照C语言的规定,函数类型缺省表示是整型,所以func()前面可以没有返回类型,并且如果函数是整型、字符型的话,不要预先声明。结果是两个1。

输出两个1,这个题太无聊了吧,i根本不起作用,而且连函数声明也没有 返回值类型也没有 你抄错了吧

1.全局变量i根本没起任何作用,不知道是用来干什么的
2.同一楼的,你的输出类型要定义.
3.两次结果都是1.