对于C中的循环,值在内部变为0

对于C中的循环,值在内部变为0,c,C,好的,我会把我的代码放在下面的一部分,因为我不认为所有的事情都是必要的。但本质上我要求用户输入一个值,我扫描这个值并将其分配给一个临时变量,然后我想用这个值填充数组中的每个位置 printf("Input a value for the spring constant of each Spring\n"); scanf("%lf", &ktmp); for(tmp=0; tmp<argc-1; tmp++) { k[tmp] = ktmp;

好的,我会把我的代码放在下面的一部分,因为我不认为所有的事情都是必要的。但本质上我要求用户输入一个值,我扫描这个值并将其分配给一个临时变量,然后我想用这个值填充数组中的每个位置

printf("Input a value for the spring constant of each Spring\n");
scanf("%lf", &ktmp);
    for(tmp=0; tmp<argc-1; tmp++)
    {
        k[tmp] = ktmp;
        printf("%lf\n", &k[tmp]);
    }
printf(“为每个弹簧的弹簧常数输入一个值\n”);
扫描频率(“%lf”、&ktmp);

for(tmp=0;tmp
&k[tmp]
是数组
k
的元素
tmp
的地址
改变


表达式
&k[tmp]
返回一个指向数组
k
中元素编号
tmp
的指针。该指针的位模式(很可能)不是您期望的浮点数,实际上可能根本不是有效的浮点数。

在printf中,您正在打印k[tmp]的地址

printf("%lf\n",&k[tmp]);
printf("%lf\n",k[tmp]);
您应该打印k[tmp]的值

printf("%lf\n",&k[tmp]);
printf("%lf\n",k[tmp]);

注意:您还应该在malloc之前检查
argc
值。

打开警告并删除printf中的
&
。哇,我觉得很愚蠢,不知道我为什么把它放在那里。谢谢!