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

#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前面 而一定要在里面呢 我试过这样 程序出错了 那错了的原因是什么呢??


小王同学2015
浏览 1976回答 2
2回答

asd8532

因为下面的代码你要执行5次啊,只是执行一次的话就放在for的外面 printf("[1]a\n");  printf("[2]b\n");  printf("[3]c\n");  printf("[4]d\n");  printf("[0]e\n");
打开App,查看更多内容
随时随地看视频慕课网APP