我对这个简单的程序有疑问,因为它没有给我真正的结果。我只想在第一个函数中对两个参数求和,然后在第二个函数中使用结果。在主要功能中获得总体结果会很好。我也想问与数组相同的问题。
#include <stdio.h>
#include <stdlib.h>
int sum()
{
int a=2;
int b=3;
int s=a+b;
printf("sum=%d\n",s);
return s;
}
int sum2(int s)
{
int c=5;
int d=c+s;
}
int main(int s,int d)
{
sum();
printf("sum=%d\n",s);
printf("sum2=%d\n",d);
getchar();
return 0;
}
最佳答案
这段代码有很多问题:
int main(int s, int d)
不会按照您的想法行事。程序的命令行参数采用字符串格式。所以你需要使用int main(int argc, char *argv[])
。main()
中的变量s
和d
完全独立于sum()
中的变量和sum2()
。因此,在这些函数中更改它们的值不会影响原始变量。- 你甚至没有调用第二个函数!
你可以这样做:
int sum(int a, int b)
{
return a+b;
}
int sum2(int c)
{
return c+5;
}
int main(void)
{
int x = 2;
int y = 3;
int z = sum(x,y);
int w = sum2(z);
printf("z = %d\n", z);
printf("w = %d\n", w);
}
关于c - 使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7214534/