#include <stdio.h>
void func(char str[],int lenth);
int main()
{
char s[] = "ABCD1234efgh";
func(s,12);
printf("%s\n",s);
return 0;
}
void func(char str[],int lenth)
{
char *a;
char *b;
char c;
int i;
for (i=0;i<lenth/2;i++)
{
a=&str[i];
b=&str[lenth-i];
c=*a;
*a=*b;
*b=c;
}
}
我写的什么都不出 怎么改?
#include <stdio.h>
void func(char str[],int lenth);
int main()
{
char s[] = "ABCD1234efgh";
//
printf("%s\n",s);
return 0;
}
void func(char str[],int lenth)
{
//
}
}
按照这种方法
两ç§æ¹æ³ï¼é¡ºåºè¾å
¥éåºè¾åºï¼æè
éåºè¾å
¥é¡ºåºè¾åº
如果用char *c的话 *c=*a;这里会有个警告 运行的话就会出错 这是什么原因?
追答如果是char*c 的话, 用 c=a 这样改变C就等于是改变a , 如果是*c = *a,是不允许的,内存里的值 是不让随便访问的。
函数里面length - 1,是因为数组是从0开始。