LiJay 发表于 2020-11-7 00:01:43

关于传递了非指针函数的问题,求解

#include<stdio.h>
int main()
{
        int m,n,d;
        float sum,s;
        scanf_s("%d %d", &n, &m);
        d = m;
        sum = 0;
        while(n>0)
        {
                while (m>0)
                {
                        scanf_s("%f",s);
               
                        sum += s;
                        m--;
                }



                sum = sum / d;
                printf("%.2f", sum);
                n--;
                sum = 0;
        }

        return 0;
}

LiJay 发表于 2020-11-7 00:15:45

wanjian1990 发表于 2020-11-7 00:11
s   是float型变量参数
&s 是float型指针参数

啊!难怪我就说我以前从来没遇到这个问题,是我粗心大意了,还傻傻的找了一天,谢谢大佬解答

永恒的蓝色梦想 发表于 2020-11-7 00:03:08

皇帝的新问题

LiJay 发表于 2020-11-7 00:03:22


警告        C6066        传递了非指针作为 _Param_(2),而对“scanf_s”的调用需要指针参数,实际类型: “float”。这个是怎么回事呀?

问题 出在 第二个while那边的 scanf_s那边,为什么不能给s赋值,我以前好像也是这样写的,这次一直都错,不知道怎么解决

LiJay 发表于 2020-11-7 00:03:59

有大佬能给我解释下原理 以及如何修改吗?

wanjian1990 发表于 2020-11-7 00:06:57

scanf_s("%f",s);
scanf_s("%f",&s);

wanjian1990 发表于 2020-11-7 00:11:50

wanjian1990 发表于 2020-11-7 00:06
scanf_s("%f",s);
scanf_s("%f",&s);

s   是float型变量参数
&s 是float型指针参数

LiJay 发表于 2020-11-7 00:14:02

永恒的蓝色梦想 发表于 2020-11-7 00:03
皇帝的新问题

忘记描述了,我吧问题回复在下面的帖子了。。不好意思哈
页: [1]
查看完整版本: 关于传递了非指针函数的问题,求解