当做到一道结构体问题时,输出一直错误,找不到原因。问题如下:
typedef struct student { float grade[3]; long long int number; }stu; int
main() { stu stu1; scanf("%d;%f,%f,%f", &(stu1.number), &(stu1.grade[0]),
&(stu1.grade[1]), &(stu1.grade[2])); printf("The each subject score of No. %d
is %.2f, %.2f, %.2f.\n",stu1.number,stu1.grade[0],stu1.grade[1],stu1.grade[2]);
return 0; } //输入:1410202;77,88,99 //输出:The each subject score of No. 1410202 is
0.00, 0.00, 0.00. //预期结果:The each subject score of No. 1410202 is 77.00, 88.00,
99.00.
这里,就是因为number是long long int类型,而该代码中无论是输入还是输出都是%d,导致输出结果错误。

为了避免这种问题,在对16进制数输入输出时都要用%lld格式输入输出

例:long long int number;

scanf("%lld",&number);

printf("%lld\n",number);

 

技术
©2019-2020 Toolsou All rights reserved,
Vue.js入门(五)---在vue中使用echarts词云Pandas统计分析基础_数据处理(DataFrame常用操作)element UI dialog点击dialog区域外会关闭dialog应届毕业生看过来!Java面试经典77问,看完离工作就不远了关于蓝桥杯大赛,你应该了解的那些事!mysql 分区-key分区(五)海康威视-嵌入式软件笔试题PHP Redis 监听过期的 key 事件C语言循环语句笔记详解以及练习-折半查找算法、猜数字游戏JVM概述