3d互动游戏投影仪:C语言题00000

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 06:56:52
#include<string.h>
main()
{
char *a="abcdefghi";int k ;
fun(a);puts(a);
}
fun(char *s)
{
int x,y;char c;
for(x=0,y=strlen(s)-1;x<y;x++,y--)
{
c=s[y];s[y]=s[x];s[x]=c;
}
}

输出结果是什么?我记得在自定义函数中对数组的操作要通过指针完成,传指运算

就是将字符串进行倒置,即输出ihgfedcba
数组也是指针啊

本来程序实现的功能是将字符串逆序输出
但是原代码中存在错误
a所指向的地址是一个字符串常量的地址,不能修改,所以fun中,对s[x]和s[y]赋值的语句不对
可将 char *a = "abcdefghi";改为
char *a;
a = new char[10];
strcpy(a, "abcdefghi");