首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

动态申请变量赋值有关问题

2012-03-17 
动态申请变量赋值问题申请的动态变量,赋值方法如下:char *p malloc(100*sizeof(char));char str[] he

动态申请变量赋值问题
申请的动态变量,赋值方法如下:
char *p = malloc(100*sizeof(char));

char str[] = "hello word";

p = str;

printf("p = %c", *p);

此时p应该等于hello word,但是实际输出不是这个是怎么回事呢?

[解决办法]
%c是输出一个字符的啊,输出字符串应该用%s
[解决办法]
实际输出是
h
因为p指向字串"hello world",*p是字串的首字符,
如果你想输出hello world,那用
printf("p = %s", p);
[解决办法]

C/C++ code
    char *p = (char*)malloc(100*sizeof(char));    char str[] = "hello word";    p = str;    printf("p = %s", *p);
[解决办法]
探讨
申请的动态变量,赋值方法如下:
char *p = malloc(100*sizeof(char));

char str[] = "hello word";

p = str;

printf("p = %c", *p);

此时p应该等于hello word,但是实际输出不是这个是怎么回事呢?

[解决办法]
探讨

引用:
C/C++ code

char *p = (char*)malloc(100*sizeof(char));
char str[] = "hello word";
p = str;
printf("p = %s", *p);



%c打印的是字符,打印字符串应该用%s
好像即使是这个代码也不能打印出来,因为str[]为一个字符数……

[解决办法]
char *p = (char*)malloc(100*sizeof(char));
char str[] = "hello word";
p = str;
printf("p = %s", p);

可以打印,我试过了

hello world

热点排行