C语言字符数组复制函数 基本功能是实现了 但是总报警告:在不兼容的指针类型转换 强迫症害死人 求解答
答案:2 悬赏:20 手机版
解决时间 2021-11-10 20:36
- 提问者网友:焚苦与心
- 2021-11-10 06:04
C语言字符数组复制函数 基本功能是实现了 但是总报警告:在不兼容的指针类型转换 强迫症害死人 求解答
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-11-10 07:38
//&a是一个char [10]类型的指针,所以不能赋给与char*类型指针
//一般应该报错的。。因为没有隐式转化的机制。
//所以要解决的话,只能强制类型转换。
#include
void exchange(char **a, char **b)
{
char *p;
p = *a;
*a = *b;
*b = p;
}
int main()
{
char a[10] = "abc";
char b[10] = "def";
exchange((char**)&a,(char**) &b);
printf("a[10] = %s b[10] = %s
", a, b);
return 0;
}
//一般应该报错的。。因为没有隐式转化的机制。
//所以要解决的话,只能强制类型转换。
#include
void exchange(char **a, char **b)
{
char *p;
p = *a;
*a = *b;
*b = p;
}
int main()
{
char a[10] = "abc";
char b[10] = "def";
exchange((char**)&a,(char**) &b);
printf("a[10] = %s b[10] = %s
", a, b);
return 0;
}
全部回答
- 1楼网友:渡鹤影
- 2021-11-10 09:17
能编译通过真是奇迹……
不过或许是在下被标准C的规则束缚了,虽然在标准C中这种是决不允许的,但或许在其他地方,这是合理的写法,例如对于B语言程序员而言,或许这种思路就是再正常不过的追问错误倒没有 有警告
不过或许是在下被标准C的规则束缚了,虽然在标准C中这种是决不允许的,但或许在其他地方,这是合理的写法,例如对于B语言程序员而言,或许这种思路就是再正常不过的追问错误倒没有 有警告
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯