我叫赵怡彬
2016-10-05 05:07
采纳率: 85.7%
浏览 1.2k
已采纳

c语言指针字符串char*const p一些问题

1.使用char*const p是不是只能定义一个字符,而不能定义字符串,因为我在实验的时候发现如果定义一个字符串,printf("%s\n",p);显示不出来,而且我发现如果把%s改成%c也无法显示,但是既然定义的是字符,不应该%c才能显示吗?怎么倒过来了

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

4条回答 默认 最新

  • 傅某人__ 2016-10-05 05:50
    最佳回答

    printf用%c后面匹配的应该是char类型,并输出这个字符;printf用%s后面匹配的应该是指向字符串第一个字符的字符型指针,并输入整个字符串(从首字符到‘\0’)

    首先p是一个指向字符的指针,它是一个指针类型,而不是一个char类型,所以用%c是肯定不对的。
    另外用%s是可以输出的,显示不出来具体是指什么?这里const使p指向的地址不能改变,会不会是因为没有初始化?

    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题