#include <stdio.h>
/* Jone算出结果应该怎么写函数? */
int joneResult(int x, int y, int z)
{
int sum = x+y+z;
return sum/3 ; //这里是不是应该将sum返回呢?
}
/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */
int jackResult(int x, int y, int z)
{
printf("我算不出来\n");
}
int main()
{
int a, b, c;
a = 10;
b = 20;
c = 30;
//Jone的返回值类型是什么?
int jR = joneResult(a, b, c);
printf("Jone运算结果是:%d\n", jR);
printf("Jack运算结果是:"),jackResult(a,b,c);
return 0;
}
可能系统自动加了return 0.
#include<stdio.h>
int sayhello()
{
printf("%s\n","hello");
printf("%c\n",'a');
printf("%d\n",44);
printf("%f\n",4.56789);
printf("%lf\n",1.23456789);
return 5;
}
int main()
{
int x=sayhello+1();
printf("\n\t%d",x);
return 0;
}
既然输出的是字符串,为啥函数的数据类型是int,还有return 0啥意思,不加有关系么
1. return 0啥意思,不加有关系么?
return 0是返回值,可以不加,但是系统自动加了。也就是说你加与不加都要存在。
注意:加上不会有错,但不加可能会有错(老师是这么说的),所以建议按规范加上。
还有“既然输出的是字符串,为啥函数的数据类型是int,还有return 0啥意思,不加有关系么”
你这句话最后没有问号,但是我知道应该有,你没有加我也明白是问句。有问号代表是问句,也代表你这句话说完了。
2:
如上:我所写的函数用到了返回值 int x=sayhello+1(); 你运行一下看看,main()调用sayhello() 。执行了内容,内容并没有加一。
总结:自创函数被定义为什么类型的函数与内容没有关系,int定义的是返回值(return)是什么类型 结果。(int )return 0; (char)return 'a';
希望对你有所帮助句号
char jackResult(int x, int y, int z)
{
printf("我算不出来\n");
return 'a';
}
只是定义输出类型,char一样用。
int型,默认输出return 0;。
printf("%s", jackResult(a,b,c,)); 用到返回值,就输出不了了。
printf("Jack运算结果是:"),jackResult(a,b,c);你的没用到返回值,当然输出。
我感觉一样