【发布时间】:2018-03-31 15:44:05
【问题描述】:
我试图在我的 main() 中声明变量,然后使用它们的地址并在函数中指向它们,这样我的函数就不会返回任何东西,并且函数中变量的所有更改都会直接转到主要的()。但是每次我运行这个程序时,它都会询问 x,然后询问“要使用多少个术语”。如果我写 0,它会起作用并转到 if 语句,如果我写的数字大于 0,它就会起作用,但如果我写一个像-1这样的负数,它继续前进并结束他的程序???有人知道吗?
这是我的基本代码:
void getInput(double *,int *); void main() { double x; int n; getInput(&x,&n); } void getInput(double *N, int *X) { N = 0; printf("Please enter a real value for x: "); scanf("%lf", &X); while(N <= 0) { printf("How many terms to use: "); scanf("%ld", &N); if (N <= 0) { printf("The value of a must be greater than %d\n", N); } } }
【问题讨论】:
-
'scanf("%ld", &N);'双精度格式说明符不正确。
标签: c function loops pointers variables