TO: 我是云
if(flag[num[i]-'0']) return 0;
这里的 flag[] 数组,为什么会赋值呢?弄到现在,没想明白这个道理,请解释一下,谢谢。
另外发现, flag[] 无论赋什么初值,只要是赋过值,就会有正确输出,这是为什么呢?
还有,在这里:
if(flag[num[i]-'0']) return 0;
return 1;
if(checkChar(a*1000000+a*2*1000+a*3))
printf("%d\n%d\n%d\n\n", a, a*2, a*3);
我设置了断点观察flag[]的数据变化情况,当flag[]的值为真,函数的返回值已经为非零的时候,为什么不输出?
[[it] 本帖最后由 广陵绝唱 于 2008-12-16 01:27 编辑 [/it]]