小甲鱼的二师兄 发表于 2023-12-28 22:07:07

DEMO:请问这个代码存在什么问题?

#include<stdio.h>

int main()
{
        double G, T;
        double Ib, in;

        printf("请输入xjy身高:");
        scanf("%.2f\n" , &G);

        printf("请输入xjy体重:");
        scanf("%.2f\n", &T);

        G = 0.3*Ib;
        T = 2.2*in;

        printf("xjy身高为%.2f,体重为%.2f\n", &Ib, &in);

        return 0;
}

FishC 发表于 2023-12-28 22:07:24

问题1:在包含头文件`#include`时,应该明确指定要包含的具体头文件。例如,如果想使用标准输入输出函数,应该包含头文件`#include <stdio.h>`。

问题2:`scanf`函数中的格式字符串应该只包含格式控制符,而不应该包含换行符`\n`。

问题3:在使用`scanf`函数读取浮点数时,应该使用`%lf`作为格式控制符,而不是`%.2f`。

问题4:变量`Ib`和`in`在赋值给`G`和`T`之前没有初始化,导致计算结果不正确。

问题5:在`printf`函数中,应该直接输出变量`Ib`和`in`的值,而不是输出它们的地址。

以下是修改后的代码:

#include <stdio.h>

int main()
{
    double G, T;
    double Ib, in;

    printf("请输入xjy身高:");
    scanf("%lf" , &G);

    printf("请输入xjy体重:");
    scanf("%lf", &T);

    Ib = 0.3 * G;
    in = 2.2 * T;

    printf("xjy身高为%.2f,体重为%.2f\n", Ib, in);

    return 0;
}

这样修改后的代码就能够正确地计算并输出xjy的身高和体重了。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: DEMO:请问这个代码存在什么问题?