设为首页 加入收藏

TOP

C语言中函数体内对外部字符指针赋值
2014-11-23 22:59:22 来源: 作者: 【 】 浏览:4
Tags:言中 函数 体内 对外部 字符 指针

今天同事问我一个C程序code.c,代码如下:

#include

int test(char *b)

{

b = "123\0";

return 1;

}

int main()

{

char a[10];

test(a);

printf("a[] = %s\n", a);

return 1;

}

同事的目的是给数组a赋值一个常量字符数组,但程序打印后显示乱码。旁边的同事以C语言的语义来解释这段代码出现该问题的原因,如给test()传递的参数是a的一个拷贝,test()内部不会改变a的值等等。同事的观点是对的,但这段代码确实值得我们仔细探讨下。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++产生随机数示例 下一篇语言的歧义

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: