c语言问题 函数与编译预处理

intk;main(){k=3;fun();printf("%d",k);}fun(){k=k*k;}... int k;

main()
{k=3;
fun();
printf("%d",k);
}
fun()
{k=k*k;
}
展开
 我来答
真的无奈啊0000
2013-11-30 · TA获得超过577个赞
知道小有建树答主
回答量:279
采纳率:75%
帮助的人:97万
展开全部
#include<stdio.h>
int k;
main()
{
   int fun(int k);//如果函数定义在使用位置之后要提前声明函数
   k=3;
   k=fun(k);//将k初始值传递过去再将返回来的函数值重新赋值给k
   printf("k=%d\n",k);
}

int fun(int k)
{
    k=k*k;
    return k;//要返回计算得出的k值
}

 建议:为了方便阅读,建议更改一下

#include<stdio.h>
int k;
main()
{
   int n;
   int fun(int k0);//如果函数定义在使用位置之后要提前声明函数,而且函数要有返回值类型
   k=3;
   n=fun(k);//用n接收返回来的函数值
   printf("k=%d\n",n);
}
 
int fun(int k0)
{
    int k1;
    k1=k0*k0;
    return k1;//要返回计算得出的k值
}

补充:函数定义格式: 返回值类型  函数名(形参);形参可要可不要,形参类型个数和函数返回值类型视情况而定

刘海儿孙子
2013-11-30 · 超过24用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:53.2万
展开全部
你fun()函数都没有传递参数,肯定得不到想要的结果。
#include <stdio.h>

int main()
{
int k;
k=3;
fun(k);
printf("%d",k);
}
int fun(int k)
{
return k=k*k;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
香草炸鸡块
2013-11-30
知道答主
回答量:49
采纳率:0%
帮助的人:29.1万
展开全部
你的fun函数要写在main的上面,或者在函数的头部声明fun函数。 另外的你fun函数没有返回值类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式