c中的按引用传递不同于c++;?
当我试着运行它时,我得到了这个c中的按引用传递不同于c++;?,c,reference,C,Reference,当我试着运行它时,我得到了这个 错误:应为“;”,“,”或“&”标记之前的“)” 它在抱怨这条线路 int read_values(double &sum) { 所以我想传递sum,然后直接编辑它。在C语言中你是怎么做到的?谢谢各位 #include <stdio.h> /* Read a set of values from the user. Store the sum in the sum variable and return the number
错误:应为“;”,“,”或“&”标记之前的“)”
它在抱怨这条线路
int read_values(double &sum) {
所以我想传递sum,然后直接编辑它。在C语言中你是怎么做到的?谢谢各位
#include <stdio.h>
/*
Read a set of values from the user.
Store the sum in the sum variable and return the number of values read.
*/
int read_values(double &sum) {
int values=0,input=0; double sum2=0;
sum2 = sum;
printf("Enter input values (enter 0 to finish):\n");
scanf("%d",&input);
printf("%d\n", input);
while(input != 0) {
values++;
sum2 += input;
scanf("%d",&input);
}
return values;
}
int main() {
double sum=0;
int values;
values = read_values(sum);
printf("Average: %g\n",sum/values);
return 0;
}
#包括
/*
从用户处读取一组值。
将总和存储在sum变量中,并返回读取的值数。
*/
int读取值(双精度和总和){
int值=0,输入=0;双sum2=0;
sum2=总和;
printf(“输入输入值(输入0以完成):\n”);
scanf(“%d”,输入(&I));
printf(“%d\n”,输入);
while(输入!=0){
价值++;
sum2+=输入;
scanf(“%d”,输入(&I));
}
返回值;
}
int main(){
双和=0;
int值;
值=读取值(总和);
printf(“平均值:%g\n”,总和/值);
返回0;
}
C不做引用,只做原始指针
main() {
...
values = read_values(&sum);
...
}
int read_values(double* sum)
{
...
sum2 = *sum;
...
}
C不做引用,只做原始指针
main() {
...
values = read_values(&sum);
...
}
int read_values(double* sum)
{
...
sum2 = *sum;
...
}
我想你是想这么做:
int read_values(double *sum) {
int values=0,input=0;
printf("Enter input values (enter 0 to finish):\n");
scanf("%d",&input);
printf("%d\n", input);
while(input != 0) {
values++;
*sum += input;
scanf("%d",&input);
}
return values;
}
int main() {
double sum=0;
int values;
values = read_values(&sum);
printf("Average: %g\n",sum/values);
return 0;
}
我想你是想这么做:
int read_values(double *sum) {
int values=0,input=0;
printf("Enter input values (enter 0 to finish):\n");
scanf("%d",&input);
printf("%d\n", input);
while(input != 0) {
values++;
*sum += input;
scanf("%d",&input);
}
return values;
}
int main() {
double sum=0;
int values;
values = read_values(&sum);
printf("Average: %g\n",sum/values);
return 0;
}
我们会这样做的。在提问之前,请检查本网站和您的搜索引擎以了解类似问题。这一个可能是Wellcome的复制品。在提问之前,请检查本网站和您的搜索引擎以了解类似问题。这是一个可能的复制品