#include<stdio.h>
int func(int x){
x--;
printf("x=%d\n", x);
}
int main(){
int num;
printf("Input a number:");
scanf("%d", &num);
func(num);
printf("num=%d\n", num);
return 0;
}
供参考:
#include<stdio.h>
int func(int x){
x--;
printf("x=%d\n", x);
return x; //修改 增加返回语句
}
int main(){
int num;
printf("Input a number:");
scanf("%d", &num);
func(num);
printf("func(num):num=%d\n", num);
num = func(num); //修改
printf("num = func(num):num=%d\n", num);
return 0;
}
修改如下:
#include<stdio.h>
void func(int& x) {
x--;
printf("x=%d\n", x);
}
int main() {
int num;
printf("Input a number:");
scanf_s("%d", &num);
func(num);
printf("num=%d\n", num);
return 0;
}
你func中都没写return哪来的返回值?
func结尾处加return int类型的变量;
解决方案大致两种:
1.在func函数中添加return 返回值 返回函数执行的结果。
2.借助指针引用 址传递的方式 去改变 此时不加返回值,也可以影响到主函数中的变量内容。