codechef上的C代码中的NZEC错误

时间:2015-03-12 14:59:14

标签: c runtime-error

它在此代码中显示运行时错误NZEC。

#include<stdio.h>
#include<stdlib.h>

int main ()
{
int i,d=0,x;
char buffer [256];
//printf ("Enter a number: ");
scanf("%s",buffer);

i = atoi (buffer);
while(i>0)
{
x=i%10;
i=i/10;
switch(x)
{
case 0:d=d+6;
break;
case 1:d=d+2;
break;
case 2: d=d+5;
break;
case 3: d=d+5;
break;
case 4: d=d+4;
break;
case 5: d=d+5;
break;
case 6: d=d+6;
break;
case 7: d=d+3;
break;
case 8: d=d+7;
break;
case 9: d=d+6;
break;
}
}
//printf("The no of dashes are :");
//printf("%d",d);

return d;
} 

但是这个问题需要数字&#39; d&#39;由函数返回。 我不知道如何解决错误。 请帮忙。

BTW This is the problem statement

1 个答案:

答案 0 :(得分:2)

  

NZEC - &gt;非零退出代码。

NZEC是一种机制,用于表示您的代码遇到某种错误,例如内存不足或分段错误错误。

在您的代码中,最后一行执行

return d;

d在最初分配给0后会在代码中递增。

由于您的main()返回值>0,因此会抛出NZEC error

将此更改为

return 0;

解决问题。