比较字符串编译不过??(求助)

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:08:12
main()
{

char *p="abc";
char *q="abc";
while(*p++==*q++);

}
我把这几行列出来了;这3行在TC2.0能编译通过,在DEV_C++上通不过。什么原因?
这样肯定不能比较了,但写程序编译出这问题,我只是想知道为啥在Dev_c++上不能通过?

将循环语句改为:while(*p++==*q++&&*p!='\0'&&*q!='\0');
试一下。如果改后能通过,那就是你写的循环条件*p++==*q++在编译时被检测为死循环,所以才不让通过。
TC2.0和DEV_C++是不同的编译系统,TC2.0是比较旧的编译系统,他可能只对语法错误进行检测,而DEV_C++可能还对程序的算法进行检测。

没错,不过你这样能比较嘛