请教一个关于C语言 for循环与 IF语句嵌套的问题 C语言里if语句可以嵌套for循环么

c\u8bed\u8a00for\u5faa\u73af\u5d4c\u5957if\u8bed\u53e5

\u4e24\u79cd\u65b9\u6cd5\uff0c\u4e00\u79cd\u662f\u91cd\u65b0\u8d4b\u503c\uff0c\u7a0b\u5e8f\u6bb5\u5982\u4e0b

for(i=0;i<Maxi;i++) for(j=0;j<Maxj;j++) if(true) \uff5b i=-1; break; //\u4ece\u6b64\u5904\u8df3\u51fa\u672c\u5c42\u5faa\u73af\uff0c\u7531\u4e8e\u8d4b\u503ci=-1\uff0c\u6267\u884c\u5b8c //break\u8bed\u53e5\u4e4b\u540e\uff0c\u6267\u884c\u5916\u5c42\u5faa\u73afi++\u6307\u4ee4\uff0c\u4f7f\u5f97 //i=0;\u5916\u5c42\u5faa\u73af\u76f8\u5f53\u4e8e\u91cd\u65b0\u5f00\u59cb\uff0cj\u7684\u503c\u65e0\u9700\u5904\u7406\uff0c //\u56e0\u6bcf\u6b21\u8fdb\u5165\u5185\u5c42\u5faa\u73af\uff0cj\u503c\u5747\u4f1a\u88abfor\u8bed\u53e5\u8d4b\u521d\u503c0 }
\u7b2c\u4e8c\u79cd\u65b9\u6cd5\u662f\u65e0\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4\uff1a

sign: for(i=0;i<Maxi;i++) for(j=0;j<Maxj;j++) f(true) goto sign; //\u6761\u4ef6\u4e3a\u771f\u8df3\u8f6c\u81f3sign\u8bed\u53e5
\u4e00\u822c\u60c5\u51b5\u4e0b\uff0c\u5e94\u5f53\u907f\u514d\u4f7f\u7528goto\u65e0\u6761\u4ef6\u8df3\u8f6c\u6307\u4ee4\uff0c\u56e0\u4e3a\u5f88\u591a\u4eba\u8ba4\u4e3a\u7a0b\u5e8f\u53ef\u8bfb\u6027\u4f1a\u56e0\u4e3agoto\u7684\u5f15\u5165\u800c\u53d8\u5dee\uff0c\u4f46\u662f\u5728\u4e0d\u5c11\u60c5\u51b5\u4e0bgoto\u53ef\u4ee5\u4f7f\u5f97\u7a0b\u5e8f\u4ee3\u7801\u7b80\u5355\uff0c\u6548\u7387\u63d0\u9ad8\uff0c\u4e2a\u4eba\u8ba4\u4e3a\u9002\u5f53\u4f7f\u7528goto\u6307\u4ee4\u5e76\u65e0\u4e0d\u53ef\uff0c\u697c\u4e3b\u53ef\u81ea\u5df1\u4f5c\u51fa\u9009\u62e9\u3002

C\u8bed\u8a00\u91ccif\u8bed\u53e5\u91cc\u662f\u53ef\u4ee5\u5d4c\u5957for\u5faa\u73af\u7684\uff08if\u8bed\u53e5\u91cc\u53ef\u4ee5\u653eC\u8bed\u8a00\u91cc\u7684\u4efb\u610f\u7684\u6267\u884c\u8bed\u53e5\uff09\u3002
\u4e3e\u4f8b\u8bf4\uff1a
char yn;
int i;
printf("\u9700\u8981\u6253\u53701\u523010\u4e4b\u95f4\u7684\u6240\u6709\u5947\u6570\u5417(Y/N)\uff1f\n");
scanf("%c",&yn);
if(yn=='Y'||yn=='y')
{
for(i=1;i<10;i+=2)
printf("%d ",i);
printf("\n");
}
else
printf("\u90a3\u5c31\u4e0d\u6253\u5370\u4e86\n");

那是因为你写了个连小于号 就是那个x1<x<x2的这种 在c里没有这样的写法 正确的写法是x1<x&&x2>x 给你改一个判断 其他的自己应该会照着改了
else if ((a<i<(a+d-1))&&(j==b)) 改为
else if ((a<i&&i<(a+d-1))&&(j==b))

C语言中不存在像(i==a)&&(b<j<(b+c-1))的句式,应改为(i==a)&&(j>b)&&(j<(b+c-1)).其他的都要改

扩展阅读:编程学习 ... c语言在线工具 ... c#语言翻译器 ... 求πc语言 ... c语言在线编程网站 ... c语言怎么使用π ... c语言\d ... 明解c语言电子版 ... c语言在线编译器手机版 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网