每次输入m之后,i总会自动变得比i大1.为什么我的i会自动增大?

#include <stdio.h>

int main(int argc, char *argv[])

{

int b,m,n,x,i,j,z,h=0;

scanf("%d",&m);

for(i=0;i<=m;i++);

{

printf("\n+%d+%d+\n",i,m);

scanf("%d",&n);

int a[n];

for(j=0;j<n;j++)

{

scanf("%d",&x);

a[j]=x;

}

scanf("%d",&b);

for(z=0;z<n;z++)

{

if(a[z]==b)

{

printf("%d",z);

h=1;

}

}

if(h==0)

{

printf("Not Found");

}printf("\n+%d+%d+\n",i,m);

}

return 0;

}


慕仰7464091
浏览 1558回答 3
3回答

我是小土豆

我知道为啥了,你的for循环后面多了个分号,默认循环体为空了。

我是小土豆

程序执行之后会出现i=m+1的情况,我也想知道这是为啥,如果找到答案,请告诉我,谢谢!我自己写的for循环就不会有这个情况:#include <stdio.h>int main(){     int i,j,k,m;     scanf("%d",&m);     for(i=0;i<=m;i++)     {          printf("i=%d,m=%d\n",i,m);     }     return 0;}

慕丝2543519

试试i=0放到输入m 前面?
打开App,查看更多内容
随时随地看视频慕课网APP