我正在编写代码,我在c代码的顶部声明了全局变量。然后在main函数中我使用random来为这些变量设置随机值。然后代码调用外部函数对这些值进行数学运算。但是在此函数中,所有变量都显示为零。有没有办法传递这些变量?
伪代码(但代码如何设置)
// Header
int A, B;
main() {
A = (rand() % 14000);
B = (rand() % 14000);
// other things
math_func Printf("%d %d", A, B);
Return
}
math_func() {
A + B;
A* B;
A / B;
}
现在看来,在math_func中A和B似乎为0 ......任何想法都值得赞赏。
答案 0 :(得分:0)
math_func() {
A+B;
A*B;
A/B;
}
这三个陈述没有效果。 例如,您希望使用此代码实现什么目标?
A+B;
此表达式保持A
不变。
您想要更改A
值吗?如果是这样,您应该使用A = A+B;
或A += B;
。
与其他两个陈述相同。使用+=
,*=
和/=
运营商。
答案 1 :(得分:0)
这是纯粹的推测,但似乎您期望printf
以某种方式打印math_func()
内的语句结果。
如果您希望这些陈述的结果在main()
中可见,那么您必须将这些陈述分配给某些变量并在main()
中打印出变量。
#include <stdio.h>
#include <stdlib.h>
int A, B;
int C, D, E;
void math_func();
main() {
A = (rand() % 14000);
B = (rand() % 14000);
// other things
printf("%d %d\n", A, B);
math_func();
printf("%d %d %d\n", C, D, E);
}
void math_func() {
C = A + B;
D = A* B;
E = A / B;
}
或者,如果您想向自己证明A
和B
在函数内部不为零,那么只需在其中放入一个print语句。
void math_func() {
printf("%d %d\n", A, B);
C = A + B;
D = A* B;
E = A / B;
}