以下是引用song4在2006-9-16 15:24:02的发言:
改到没什么,象char *p=s[4];
p++;这都正常
但是不能指针相互比较大小
指针只能++ -- ==
这样的运算
* / < > 都不行
非常不稳定,好的编译器就是错误
指针不能互相比较大小,还是第一次听说.改到没什么,象char *p=s[4];
p++;这都正常
但是不能指针相互比较大小
指针只能++ -- ==
这样的运算
* / < > 都不行
非常不稳定,好的编译器就是错误
你看老潭书上狂用.
/*使用函数将字符串逆序输出*/
#include<stdio.h>
#include<string.h>
void myf(char *p);
main()
{
char a[80];
gets(a);
myf(a);
printf("\n");
puts(a);
getch();
}
void myf(char *p)
{
char *q,t;
q=p+(strlen(p)-1); /*q指针指向数组的最后一个元素的地址*/
while(p<q)
{
t=*p;*p=*q;*q=t; /*首尾元素交换位置*/
p--;q++; //这错了,应该是p++;q--,要不会用到地址为NULL空间,出现错误
}
我在win-tc上运行编译可以成功,运行时就会出现一个和cpu有关的问题!!郁闷!!