名字冲突
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <string.h>
void revstr(char *p);
void main()
{
char str[200];
printf("请输入一个字符串: \n");
gets(str);
revstr(str);
printf("调换顺序后的字符串为:%s\n",str);
}
void revstr(char *p)
{
char ch,*q;
q=p+strlen(p)-1;
while(p<q)
{ch=*p;
*p++=*q;
*q--=ch;}
}
----------------解决方案--------------------------------------------------------
char *str[200];
就错了 你在后面怎么能这样输出了 printf("调换顺序后的字符串为:%s\n",str);
str是一个指针数珠 STR是一个常量指针
----------------解决方案--------------------------------------------------------
这样的代码没有警告?LZ不是用的GCC……
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
程序代码:
#include <stdio.h>
#include <string.h>
void revstr(char *p);
void main()
{
char str[200]; //此处;
...........
}
void revstr(char *p) //对revstr()函数进行了一定修改;
{
char ch,*q;
q=p;
while(*q)
q++;
q--;
while(p<q)
{ch=*p;
*p++=*q;
*q--=ch;
}
}
#include <string.h>
void revstr(char *p);
void main()
{
char str[200]; //此处;
...........
}
void revstr(char *p) //对revstr()函数进行了一定修改;
{
char ch,*q;
q=p;
while(*q)
q++;
q--;
while(p<q)
{ch=*p;
*p++=*q;
*q--=ch;
}
}
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <string.h>
void revstr(char *p);
void main()
{
char str[200];
printf("请输入一个字符串: \n");
gets(str);
revstr(str);
printf("调换顺序后的字符串为:%s\n",str);
}
void revstr(char *p)
{
char ch,*q;
q=p+strlen(p)-1;
while(p<q)
{ch=*p;
*p++=*q;
*q--=ch;}
}
----------------解决方案--------------------------------------------------------
char *str[200];
就错了 你在后面怎么能这样输出了 printf("调换顺序后的字符串为:%s\n",str);
str是一个指针数珠 STR是一个常量指针
----------------解决方案--------------------------------------------------------
这样的代码没有警告?LZ不是用的GCC……
----------------解决方案--------------------------------------------------------