会吗
# include <stdio.h>int f(int * p, int * q);
void main(int)
{
int a = 3;
int b = 5;
f(&a, &b);
printf("a = %d, b = %d\n", a , b);
return ;
}
int f(int * p, int * q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
D:\C语言代码练习存放处\经典指针程序—两数互换.cpp(22) : error C4716: 'f' : must return a value
本帖最后由 sunrise085 于 2021-1-5 10:00 编辑
基础不够扎实啊!
int f(int * p, int * q) 函数这样声明,意思是有两个参数,两个参数都是int类型的指针,函数有返回值,返回值类型是int类型。
因此函数定义中必须有return语句,而且return语句返回的值需要是int类型
看你的这个程序,很明显不需要返回值,那么久可以把函数f声明为无返回值函数 void f(int * p, int * q)
同时,在下方定义的时候也写成无返回值。
//函数声明
void f(int * p, int * q);
//函数定义
void f(int * p, int * q)
{
int t;
t = *p;
*p = *q;
*q = t;
} 为啥不需要返回值啊?f函数不是要给返回值到main函数吗?
页:
[1]