『壹』 c語言 為啥無限循環了
i的類型不對,至少應該是short, 一般定義為int
char的范圍遠遠小於210,所以永遠達不到210,就循環了
『貳』 C語言,for和while搭配導致無限循環
原因樓上已經說了。
改正方法我覺得可以把while循環的計數用別的變數來計。
例:
#include <stdio.h>
int main ()
{
int n,k,j,sum=0,m=0;
for (n=1;n<=3;n++)
{
k=n;
j=n;
while (j>1) //用j來計數
{
m=j-1;
k=k*m;
j=j-1;
}
sum=sum+k;
}
printf("%d",sum);
return 0;
}
『叄』 一個C語言判斷循環語句是不是無限循環
A) for(K=-1;-10<k<0;k--)
這里有個錯誤,K=-1應該是小寫k
不是無限循環,k<-10後-10<k<0不成立,退出
B) for(i=1,j=10;i-j;i++,j--)
是無限循環,i-j=0時i-j為假才能退出,當i=5時,j=6,而下一循環i=6,j=5,i-j永不為0
C) for(k=1;k=10;k++)
是無限循環,k=10是賦值表達式,永為真
D) for(k=1;k>0;K++)
是無限循環,k從1開始遞增,所以k>0永為真
『肆』 C語言for循環語句
從for語句的寫法看,這是一個死循環。因為進入循環後,前面定義的k=-1被覆蓋,k從0開始,每循環一次k減1,它的取值會是0、-1、-2、-3、……,而循環的終止條件是k=1,這是一個永遠取不到的值,所以是死循環。
而本例在實際運行中,循環體內有一個break,是跳出循環的命令,所以,該循環僅僅運行一次,就完成了,程序也就結束了。
『伍』 c語言if else嵌套for循環語句為什麼會無限循環
int
main()
{
inti,j,n;
printf("Entermatrixsize:");
scanf("%d",&n);
for(j=1;j<=n;j++)
{
for(i=1;i<=n;i++)
{
if(j==1||i>j-1)//j=1是賦值的意思.
{
printf("+ ");
}
else
{
printf("- ");
}
}
printf(" ");
}
//getchar();
return0;
}
➜ ~ vim d.c
➜ ~ indent -gnu d.c
➜ ~ vim d.c
➜ ~ gcc d.c
➜ ~ ./a.out
Enter matrix size: 4
+ + + +
- + + +
- - + +
- - - +
『陸』 c語言 for循環次數
#include<stdio.h>
void
main()
{
int
i,j;
int
m=0,n=0;
long
sum=0;
for(i=1;i<=20;i++)
{m=m+1;
for(j=1;j<=3;j++)
{n=n+1;
sum=sum+(i+1)*(i+1)*(j+2);
}
}
*/內循環語句多的時候,就不能省略大括弧了/*
printf("sum
is:%ld\n",sum);
printf("外循環的次數:%d,內循環的次數:%d\n",m,n);
}
『柒』 C語言 for無限循環
for循環第二個分號前放的是循環條件,它的值是一個邏輯型,你不論k=1還是k==1最後看的是這條語句是為0還是為1;
『捌』 關於C語言簡單的FOR循環 i++變成i--怎麼就無限循環了
你好 : i++ 變成i-- 的時候 應為你的i初始值為0 而且--以後i永遠應不會大於20所以無限循環 而i++和++i前者是先i自加然後在加其他的 後者是後加加其他的然或自加
『玖』 C語言 double ,無限循環
精度問題, double型和int型比較就容易出這問題, 最好用> < 這樣的符號.
把 i != 10改成i < 10應該就行了..