dino_fei 2022-10-04 08:32 采纳率: 0%
浏览 16

scanf相对循环的位置不同带来的不同结果

在编写程序时,我开始是把**scanf_s("%lf", &s);放在循环外面,结果输出的答案不论几个,仅为一个字母的循环。后来我将scanf_s("%lf", &s);**放在循环里面,程序恢复正常。
同学猜想前者是因为程序中只有输入的第一个数值在不断循环,后面的数值不能进入循环。请问这是什么原理呢?谢谢!

#include<stdio.h>
int main()
{
int n, i;
double s;
scanf_s("%d", &n);
printf("%d", n);
for (i = 1; i <= n; i++) {

scanf_s("%lf", &s);

    if (s >= 90.0)
        printf("A");
    else if (s >= 80.0)
        printf("B");
  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 创建了问题 10月4日

      悬赏问题

      • ¥15 虚幻引擎游戏崩溃问题
      • ¥15 app自动化弹窗识别
      • ¥18 请教一下这几个代码,有注释最好,阿里各多
      • ¥30 使用微信Android热补丁Tinker框架在Android8.1.0系统不能加载layout资源,但values资源可以加载,使用相同的方法在Android5.1.0和Android7上可以
      • ¥15 关于Qt中COM组件向调用组件方发送消息的问题
      • ¥15 有人能帮我看一下这个码怎么解
      • ¥15 oracle更新一列的所有timestamp默认精度
      • ¥50 servicNow二次开发集成
      • ¥15 matlab解二维偏微分方程
      • ¥15 AHK如何设置一个按键手工插入延迟