c语言下面两个程序为何前一个无法输出电话号码用后一个却可以,就在最后输出处加了个[a],作用何在

[复制链接]
查看11 | 回复4 | 2012-4-28 00:08:31 | 显示全部楼层 |阅读模式
第一个:scanf的时候实际上是相当于给c.ph[0]输入了一个值,后面的c.ph[1],c.ph[2]....等等都没有输入值。打印的时候c[a].ph实际上是一个地址而且是常量,所以打印出来的是一个地址。第二个:加了[a]以后只有第一个即c[0]ph[0]可以输出来,,其他的都是随机值,,因为你根本没有输进去。改进方法就是你吧电话号码也弄成char型,在稍微改改就行了...
回复

使用道具 举报

千问 | 2012-4-28 00:08:31 | 显示全部楼层
p[a],是一个数组,例如该程序p[a],放在对a的循环里,若a=1,则p[a]就是p[1],就是代表一个数,a=2时,p[a]就是p[2],这就是p[a]的含义,所以说p[a]是一个整体,a是p的下标,当然p和[a]不能分开...
回复

使用道具 举报

千问 | 2012-4-28 00:08:31 | 显示全部楼层
电话:%d
c[a].phC语言里面明确将到数组不能整体输出。输出列表要一一指明数组变量。而你的 c[a].ph实际上是一个包含10个变量的数组。最好是吧 c[a].ph也做为字符串输入、输出。...
回复

使用道具 举报

千问 | 2012-4-28 00:08:31 | 显示全部楼层
单独的ph只是一个数组地址,加上[a]后就成了值了。...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行