慕移动6346340
2017-08-12 20:31
#include <stdio.h>
/* Jone算出结果应该怎么写函数? */
int joneResult(int x, int y, int z)
{
int sum = x+y+z;
return sum/3; //这里是不是应该将sum返回呢?
}
/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */
void jackResult(int x, int y, int z)
{
printf("我算不出来\n");
return;
}
int main()
{
int a, b, c;
a = 10;
b = 20;
c = 30;
//Jone的返回值类型是什么?
printf("Jone运算结果是:%d\n", joneResult(a,b,c));
printf("Jack运算结果是:%s\n",jackResult(a,b,c));
//Jack没有算出结果只说了句话,是不是直接调用函数就可以了?
return 0;
}
如果你想写一个返回字符串的函数,你可以参考下面这个例子
#include <stdio.h>
#include <stdlib.h>
char *A(void)
{
char *a = malloc(10); //创建堆空间,大小为10个字节,并且指向char型指针a
a = "hello"; //这里的指针a存放的是字符串hello的头个字母的地址
return a; 返回一个char *a;
}
inrt main(void)
{
char *a = A(); //定义char *a,接收函数A的返回值
printf("%s\n", a); //打印字符串
return0;
}
jackResult(int x, int y, int z)是一个无返回值的函数,所以是不能这样写的,你这样写是想让它返回字符串,但是实际上无返回,这个函数只是执行printf这个I/O函数而已,因此,不能这么编哦
C语言入门
926024 学习 · 20793 问题
相似问题