鱼C论坛

 找回密码
 立即注册
查看: 721|回复: 2

[已解决]p与*p的一些疑问

[复制链接]
发表于 2022-2-17 18:51:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
正确代码:
printf("您输入的内容是:%s",p);
错误代码:
printf("您输入的内容是:%s",*p);
题目要求是打印出指针p的内容。
问题:我的理解是*p是指针p的值,然后用%s读取p的值,但打印出来的是一个16进制的数,各位大哥帮忙说说我的理解有哪些错误,应该怎样理解呢?
最佳答案
2022-2-17 19:30:38
本帖最后由 jackz007 于 2022-2-17 19:34 编辑

  
printf("您输入的内容是:%s" , s) ;
    printf() 对应于格式描述符 "%s" 的输入参数 s 必须是一个 char * 型,也就是说,必须是一个指向字符的指针。
  
printf("您输入的内容是:%s" , * p) ;
    那么,就是说,在本例中,* p 就必须是一个指针才行,也就是说,p 必须这样定义才符合要求:
  
char ** p ;
    可是,估计你的 p 是这样定义的:
  
char * p ;
    于是,就出错了。        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-17 19:30:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-2-17 19:34 编辑

  
printf("您输入的内容是:%s" , s) ;
    printf() 对应于格式描述符 "%s" 的输入参数 s 必须是一个 char * 型,也就是说,必须是一个指向字符的指针。
  
printf("您输入的内容是:%s" , * p) ;
    那么,就是说,在本例中,* p 就必须是一个指针才行,也就是说,p 必须这样定义才符合要求:
  
char ** p ;
    可是,估计你的 p 是这样定义的:
  
char * p ;
    于是,就出错了。        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-18 23:25:46 | 显示全部楼层
jackz007 发表于 2022-2-17 19:30
printf() 对应于格式描述符 "%s" 的输入参数 s 必须是一个 char * 型,也就是说,必须是一个指向 ...

谢谢大哥!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 12:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表