当前位置:首页职业培训

如下程序: char *a="张三”; printf("%s\n",a); 1、为什么“张三"可以直接赋值

作者:职业培训 时间: 2025-01-16 16:45:47 阅读:239

1、你可以将"张三"视为char []类型的数据,char []类型自然可以赋值给char *类型,因为都是表示首字符的地址。

2、因为你已经写明了——变量a的类型是%s,那么,程序就会将a视为字符串首字符的地址,打印出整个字符串。如果你改成printf("%d\n",a);那么打印出来的就是张三的存储地址。

3、%s会将对应的变量视为一个字符串首字符的地址,打印出整个字符串。如果你改成*a,那么实际%s收到的是张三的数据,而不是张三的地址,当%s吧张三的数据当做地址去操作时,当然会出现错误。

标签:

本文地址: http://www.goggeous.com/20241230/1/996311

文章来源:天狐定制

版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。

猜你喜欢
猜你喜欢
  • 最新动态
  • 热点阅读
  • 猜你喜欢
热门标签

网站首页 ·

本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

鲁ICP备2024081150号-3 相关侵权、举报、投诉及建议等,请发E-mail:admin@qq.com