gpt4 book ai didi

c - C语言中如何打印子程序的输出?

转载 作者:行者123 更新时间:2023-11-30 20:48:58 26 4
gpt4 key购买 nike

我正在使用一个非常简单的子例程代码,但它没有打印正确的值。请帮助我。我的代码是:

#include<stdlib.h>
#include<stdio.h>

main(){
int i, a, b=0.0, c=0.0;
void sum(int a , int b);
for ( i = 0; i < 2; i++ ) {
sum (a, b); c = c+b;
}
printf("%d\n", c);
}
void sum(int a , int b){
int i;
for ( i = 0; i <6; i++ ) {a = i*i;b = b+a;}
}

最佳答案

调用者看不到 sum(int,int) 的效果,因为 ab 是按值传递的。您需要使用指针来实现您想要的结果:

void sum(int *a , int *b){
for (int i = 0; i <6; i++ ) {
*a = i*i;
*b += *a;
}
}

将前向声明更改为也使用指针,并调用 sum (&a, &b) 来传递指针。

关于c - C语言中如何打印子程序的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25261904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com