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

printf函数解决方案

2013-11-09 
printf函数#include stdlib.h#include stdio.h#include string.hint main(){char *p (char *)mall

printf函数

#include "stdlib.h"
#include "stdio.h"
#include "string.h"
int main()
{
char *p = (char *)malloc(20);
strcpy(p,"hello");
printf("%s",p);
}

为什么printf函数里面的参数 p 不能改为 *p?
[解决办法]
因为你输出的格式是%s
要给成*p的话 输出格式改成%c
[解决办法]
因为p指向一个字符串!p就标识字符串的首地址!
加上printf函数是个格式化输出函数,%s,就是输出指针p指向的内容的!

int main()
{
    char *p = (char *)malloc(20);
    memset(p, 0, 20); //防止出现乱码 
    strcpy(p,"hello");
    printf("%s",p);  // p指向的存放在内存地址上的内容
    printf("%p",p);  // p指向的内存地址
}

热点排行