鱼C论坛

 找回密码
 立即注册
查看: 2065|回复: 5

新人求助help

[复制链接]
发表于 2021-10-9 21:35:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{
        const int PRICE=30;
    int total;
        int num=0;
        printf("请输入单价PRICE:\n");
        scanf("%d",&PRICE);
        printf("请输入数量num:\n");
        scanf("%d",&num);
        total=10 * PRICE;
        printf("total=%d\n",total);
        return 0;
}

怎么最终的运用结果只能是300,我输入了别的都不会变

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-9 21:39:28 | 显示全部楼层
你已经定义 const int PRICE,关键字 const 限定一个变量不允许被改变,产生静态作用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-9 21:54:10 | 显示全部楼层
#include <stdio.h>

int main()
{
    int PRICE = 30; // 不能用const定义PRICE为不可变的变量
    int total;
    int num = 0;

    printf("请输入单价PRICE:\n");
    scanf("%d", &PRICE); // 如果你用const关键字定义了PRICE,这里就是没有用的
    printf("请输入数量num:\n");
    scanf("%d", &num);
    total = num * PRICE; // 这里你想写10 * PRICE还是num * PRICE?
    printf("total=%d\n", total);

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-9 22:09:43 | 显示全部楼层

就是不要定义是吗?还有这个  int num = 0;我可以不写等于0吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-9 22:19:30 From FishC Mobile | 显示全部楼层
本帖最后由 hrpzcf 于 2021-10-9 22:20 编辑
刘颖1202 发表于 2021-10-9 22:09
就是不要定义是吗?还有这个  int num = 0;我可以不写等于0吗

1. 不是不要定义,是不要用const关键字把它定义为不可变的变量。
2. 最好不要去掉,price也一样。
如果你初始赋值=0去掉了,它的初始值就会是一个奇怪的值。
因为你没有判断scanf是否读取成功的语句,如果你输入了别的字符导致读取失败,num就不是0而是奇怪的值了,计算出来的就会是一个很奇怪的结果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-10-10 18:46:29 | 显示全部楼层
hrpzcf 发表于 2021-10-9 22:19
1. 不是不要定义,是不要用const关键字把它定义为不可变的变量。
2. 最好不要去掉,price也一样。
如果 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 14:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表