求原因
c语言吧
全部回复
仅看楼主
level 5
Gx_小西 楼主
编译无误!不知为什么这样!!
2012年07月26日 08点07分 1
level 10
字符型用%s输出?你的编译器检查也太不严格了
2012年07月26日 08点07分 3
亲,gcc4.6.1亲测编译不会报错哟,连警告也不会有哟。因为字符中的内容被当成指针地址之后那个地址通常不可读(0~255),所以程序会执行失败。不知道是不是这个原因。总之不报任何警告和错误是一定的了。
2012年07月26日 09点07分
@abca141 说的跟你掌握真理似的,往楼下看
2012年07月26日 09点07分
@abca141 学到了
2012年07月26日 09点07分
level 5
木测,printf("%c-->%c",x,y);
2012年07月26日 08点07分 4
thx!~
2012年07月26日 09点07分
level 5
#include"stdio.h"
int move(char x,char y)
{
printf("%c-->%c\n",x,y);
return -1;
}
int hanoi(int n,char a,char b,char c){
if(n==0)
move(a,b);
else
{
hanoi(n-1,a,c,b);
move(a,c);
hanoi(n-1,b,a,c);
}
return -1;
}
int main()
{ hanoi(3,'A','B','C');
return 0;
}

2012年07月26日 09点07分 5
这样输出结果好像不对,不知为何!
2012年07月26日 09点07分
@Gx_小西 汉诺塔好像n==1判断递归结束的吧...
2012年07月26日 09点07分
@笑爰人03 认真看了下,果真!真粗心 ,谢谢提点
2012年07月26日 09点07分
level 10
@abca141 别说的你跟掌握真理一样
codelite gcc
====================
地址通常不可读(0~255) 不知道你从哪淘换来的

2012年07月26日 09点07分 6
对的,%s不行 不过vc6编译没报错,
2012年07月26日 09点07分
弱弱问一句,你的啥编译器
2012年07月26日 09点07分
2012年07月26日 09点07分
@Geodesic 求工具地址
2012年07月26日 09点07分
level 5
Gx_小西 楼主
2012年07月26日 09点07分 7
level 6
@Geodesic 同学,仔细看看我的话好吗?都说不确定了。而且,麻烦报上你的gcc版本号好吗?如果和我的一样咱可以上gcc网站报bug去了。上图:

2012年07月26日 14点07分 8
请用gcc -Wall
2012年07月26日 14点07分
你不是说一定不报警告和错误吗?现在有报警告的,那你的说法就不成立了。报bug之类的,那不是我关心的事情。至于你的猜测,不值一晒
2012年07月26日 15点07分
@Geodesic 不值一哂
2012年07月26日 15点07分
@御坂美琴みさか 抱歉,gcc不会用。
2012年07月27日 01点07分
level 8
汉诺塔 头大[揉脸]
2012年07月26日 14点07分 9
理解就好,其实很简单
2012年07月26日 15点07分
@Gx_小西 理解倒是理解只是处理方法 有点头大~跟死循环一样 嘿嘿
2012年07月26日 15点07分
@zero5576 代表还不理解 [呵呵]
2012年07月26日 15点07分
@Gx_小西 恩~我也是这么觉得~
2012年07月27日 08点07分
1