搜索
查看: 1899|回复: 3
打印 上一主题 下一主题

求助.为什么会有这两种不同的情况?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-2 17:39:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

最佳答案

查看完整内容

如楼上所说,"T"的类型是 char*(指向char类型的指针) char a = "T"会把char*转换为char,得到了一个实际上没有多少意义的结果 输出地址的话,应该这样写 printf("%p", "T"); %p表示一个指针类型
沙发
发表于 2013-5-2 17:39:41 | 只看该作者
如楼上所说,"T"的类型是 char*(指向char类型的指针)
char a = "T"会把char*转换为char,得到了一个实际上没有多少意义的结果

输出地址的话,应该这样写
printf("%p", "T");
%p表示一个指针类型
板凳
发表于 2013-5-2 20:05:06 | 只看该作者
有人知道吗,把字符串赋给字符变量都发生了些什么
地板
发表于 2013-5-2 20:18:39 | 只看该作者
我查了一下,可能是这样:一个双引号括起来的字符串就代表一个字符数组的首地址,你只不过是把这个地址值赋给了 char 型变量,但是 char 型只有一位,把它改成 int 就能看到这个值了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表