cequ2997 2022-07-29 17:06 采纳率: 100%
浏览 32
已结题

绿手关于scanf输入的问题

问题遇到的现象和发生背景

初学C语言,想使用scanf来输入变量,我给一个变量赋了两个值,输出两次,结果却不一样

问题相关代码,请勿粘贴截图

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
int price = 0;

printf("请输入金额(元):");
scanf("%d,%d", &price,&price);

int change = 100 - price;

printf("找您%d,%d元。\n", change);

return 0;

}

运行结果及报错内容

请输入金额(元):3,5
找您95,-9元。

D:\C语言程序\Project2\x64\Debug\Project2.exe (进程 30596)已退出,代码为 0。
按任意键关闭此窗口. . .

我的解答思路和尝试过的方法

赋予price两个值,根据结果和逻辑来看自然是后面那个值是最后一次赋予,因而有效,那么-9是什么?
这个-9不会随着输入的值变化而变化,就是说如果是输入4,3那么结果就是97,-9
而如果只输入2,那么结果是98,-9

我想要达到的结果

求解

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2022-07-29 17:09
    关注

    你输入两次price是啥意思呢?
    printf("找您%d,%d元。\n", change);
    你的printf中有两个%d,前一个输出了change值95,后一个没有指定变量,所以输出的实际是个垃圾值,-9只是凑巧而已

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月29日

悬赏问题

  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄