函数的返回值可以是整形,实型,或字符型,也可以返回指针,即一个内存地址。返回值是指针的函数定义形式为:
类型 *函数名(参数列表)
例如:
int *f(int i,int j);
调用上述函数后,返回一个指向整形变量的指针。()优先级高于*,因此f先与()结合,这表示f是一个函数。函数名前有一个*,表示此函数的返回值类型为指针。
#include <stdio.h>
char *name[7] = { "Mon","Tue","Wed","Thur",
"Fri","Sat","Sun" };
char *message = "wrong input";
char *week(int day)
{
if(day<1 || day>7)
return message;
else
return name[day-1];
}
int main()
{
int day;
char *p;
printf("Input a number of a week:\n");
scanf("%d",&day);
p = week(day);
printf("%s\n",p);
return 0;
}
运行结果: