#include<stdio.h>
int main()
{
int i;
for(i=1;i<=10;i++)
{
if(i == 5);
printf("练球%d次\n",i);
{
printf("哎呀!肚子疼!!\n");
printf("训练不了啦!!\n");
break ;
}
}
printf("今天的训练到此结束");
return 0 ;
}
错在if后面加了一个分号
如果 ; 前面前面什么都不写的话代表这是一个空语句,而且if(表达式)只对离它最近的表达式有效,你写的if(i==5)后面恰好是一个空语句 ; ,所以后面{}里面的表达式都无法通过if(i==5)这个条件,也就是说跟if(i==5)这个判断条件无关,从而后面的输出语句将for循环中定义的i=1输出。
望采纳!
把分号去掉,把左大括号提到if后面就可以了
if后面有分号,已经结束了本次判断
#include<stdio.h>
int main()
{
int i;
for(i=1;i<=10;i++)
{
if(i == 5);
printf("练球%d次\n",i); //这里定义不对,应该是当i!=5时,输出练球次数
{ //这里没有条件
printf("哎呀!肚子疼!!\n");
printf("训练不了啦!!\n");
break ; //break 直接跳出循环
}
}
printf("今天的训练到此结束");
return 0 ;
}