xiaoerdewangluo 2021-12-09 00:34 采纳率: 100%
浏览 47
已结题

这个scanf函数里的逗号为什么有的可以翻译出来,有的不行

写代码取最大值的时候中间有逗号,输入两数据中间空格可以输入,取和的时候不行是为什么?

img

img

img

img

  • 写回答

2条回答 默认 最新

  • 欢喜的欢 2021-12-09 21:49
    关注

    1楼正解,但是也可以从另一个角度来解释这个问题,也就是C语言变量初值。
    C语言定义了变量以后,系统默认会随机分配一个初始值,也就是a b c定义以后在执行到scanf函数之前是有一个默认初始值的,这个时候如果输入的数据不是按照scanf函数双引号里的格式输入的,那就只能按结构进行取数据,楼主设定的"%f,%f" 而输入的是4 5(中间是空格)的话,只能把第一个数赋值到a,第二个数取不到,所以不管是计算还是显示,第二个数其实使用的都是默认的初始值。
    结论:C语言定义变量后,建议进行赋初值的操作,可以避免很多不必要的错误。

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

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 已采纳回答 12月12日
  • 赞助了问题酬金 12月9日
  • 创建了问题 12月9日