【发布时间】:2017-10-30 18:22:43
【问题描述】:
我正在尝试学习 C,但我的代码运行不正常。它总是给出致命错误。我认为 for 循环有问题。我该如何解决它?
#include<stdio.h>
int main( void )
{
int a ;
int b = 1 ;
int i = 0 ;
printf("Enter a number:");
scanf("%d",&a);
if(a=0)
printf("Factorial=1");
else if (a > 0){
for(i=1 ; i<=a ;i++){
b = 1;
b *= i;
}
printf("Factorial=%d",b);
}
else
printf("FATAL ERROR");
return 0;
}
【问题讨论】:
-
if(a=0)应替换为if(a==0) -
正如@AditiRawat 提到的,
if (a=0)实际上是将a分配给int0。同样,正如 Aditi 所提到的,正确的比较运算符应该是==。
标签: c for-loop if-statement