代码块自己给变量赋值
Codeblocks assigned a value to a variable on its own
所以我在 c 中声明了一个名为 toplam 的整数,但根本没有给它赋值。然而,当我打开 watches window 时,显示它的值为 16。我使用了一个在线 c 编译器并将代码复制并粘贴到其中并且它 运行 顺利地没有为 toplam 分配任何值除非被问到。我认为这是 Codeblocks 本身的错误,但我不确定。如何解决此问题而不必从 toplam 中减去 16 使其为 0?
int fak(int j){
int sonuc=1;
while(j!=0){
sonuc = sonuc * j;
j--;
}
return sonuc;
}
int main()
{
int sayi,i,j,sonuc,toplam;
printf("sayi giriniz: \n");
scanf("%d",&sayi);
for(i=1;;i*=10){
if(sayi/i==0){
break;
}
j=(sayi/i)%10;
printf("%d\n",j);
toplam=toplam+fak(j);
}
printf("%d",toplam);
return 0;
}
这是我的代码。它获取输入的数字并打印出其中的各个数字,然后将它们的 faktorials 加在一起。
你只需将 toplam 初始化为 0
#include <stdio.h>
int fak(int j)
{
int sonuc=1;
while(j!=0)
{
sonuc = sonuc * j;
j--;
}
return sonuc;
}
int main()
{
int sayi,i,j,sonuc,toplam=0;
printf("sayi giriniz: ");
scanf("%d",&sayi);
for(i=1;i<=(i*10);i++)
{
if(sayi/i==0)
{
break;
}
j=(sayi/i)%10;
printf("%d \n",j,fak(j));
toplam=toplam+fak(j);
}
printf("%d",toplam);
return 0;
}
所以我在 c 中声明了一个名为 toplam 的整数,但根本没有给它赋值。然而,当我打开 watches window 时,显示它的值为 16。我使用了一个在线 c 编译器并将代码复制并粘贴到其中并且它 运行 顺利地没有为 toplam 分配任何值除非被问到。我认为这是 Codeblocks 本身的错误,但我不确定。如何解决此问题而不必从 toplam 中减去 16 使其为 0?
int fak(int j){
int sonuc=1;
while(j!=0){
sonuc = sonuc * j;
j--;
}
return sonuc;
}
int main()
{
int sayi,i,j,sonuc,toplam;
printf("sayi giriniz: \n");
scanf("%d",&sayi);
for(i=1;;i*=10){
if(sayi/i==0){
break;
}
j=(sayi/i)%10;
printf("%d\n",j);
toplam=toplam+fak(j);
}
printf("%d",toplam);
return 0;
}
这是我的代码。它获取输入的数字并打印出其中的各个数字,然后将它们的 faktorials 加在一起。
你只需将 toplam 初始化为 0
#include <stdio.h>
int fak(int j)
{
int sonuc=1;
while(j!=0)
{
sonuc = sonuc * j;
j--;
}
return sonuc;
}
int main()
{
int sayi,i,j,sonuc,toplam=0;
printf("sayi giriniz: ");
scanf("%d",&sayi);
for(i=1;i<=(i*10);i++)
{
if(sayi/i==0)
{
break;
}
j=(sayi/i)%10;
printf("%d \n",j,fak(j));
toplam=toplam+fak(j);
}
printf("%d",toplam);
return 0;
}