为了账号安全,请及时绑定邮箱和手机立即绑定

为什么for下面的5行printf不能在for前面

为什么for下面的5行printf不能在for前面

C C# C++
小王同学2015 2016-05-10 21:08:21
#include<stdio.h> int main() { int choice,i; double price; for(i=1;i<=5;i++){ printf("[1]a\n"); printf("[2]b\n"); printf("[3]c\n"); printf("[4]d\n"); printf("[0]e\n"); printf("enter choice:\n"); scanf("%d",&choice); if(choice==0) break; switch(choice){ case 1:price = 3.0;break; case 2:price = 2.5;break; case 3:price = 3.5;break; case 4:price = 4.0;break;  default:price = 0.0;break;  } printf("price=%0.1f\n",price); } printf("thanks\n"); return 0;  } 这个程序是对的 但是我在想 为什么for下面的5行printf不能在for前面 而一定要在里面呢 我试过这样 程序出错了 那错了的原因是什么呢??
查看完整描述

2 回答

?
asd8532

TA贡献143条经验 获得超187个赞

因为下面的代码你要执行5次啊,只是执行一次的话就放在for的外面

 printf("[1]a\n");
 printf("[2]b\n");
 printf("[3]c\n");
 printf("[4]d\n");
 printf("[0]e\n");


查看完整回答
1 反对 回复 2016-05-10
  • 小王同学2015
    小王同学2015
    额 我知道要执行五次 但为什么他要执行五次 而不是一次呢 printf仅仅是输出的功能啊??
  • asd8532
    asd8532
    因为你每次点单的时候都要重新看一下菜单,当然也可以不看,没什么影响
  • 小王同学2015
    小王同学2015
    可是您试下 把菜单弄到for前面去 那样程序运行不出正确的结果啊
点击展开后面1
  • 2 回答
  • 0 关注
  • 1975 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信