| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1083 人关注过本帖
标题:帮我看一下这个指针问题!
只看楼主 加入收藏
liyang3532785
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-25
收藏
 问题点数:0 回复次数:14 
帮我看一下这个指针问题!
昨天在论坛上下载了一套初级的C语言试题,坐起来发现了一些问题,求高手指点指点
      以下程序的输出结果是        
    #include <stdio.h>
    void main( )
    {
        char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;
        int i;
        i=8;
        p=a+i;
        printf ("%s\n",p-3);
    }
    
    A)6      B)'6'     C)6789     D)789
答案:C
问题中没有循环的语句,输出应该就是一个字符啊,结果怎么是6789呢  是哪个语句控制的呢?
搜索更多相关主题的帖子: 指针 
2008-11-28 12:41
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
你输出的是p而不是*p
也就是把p的地址给输出来了
所以是6789

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-28 12:45
liyang3532785
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-25
收藏
得分:0 
回复 第2楼 zqy110007 的帖子
那怎么知道p-3的地址就是6789呢?
我现在感觉这道题很混乱  给的字符数组但是却让输出字符串,有点晕!
2008-11-28 12:52
SnakeEater
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-11-25
收藏
得分:0 
printf ("%s\n",p-3);
意思是从p-3开始向后输出%s格式的数据(字符串格式),p-3指向a[5],那么一直输出到/0(就是ASCII为0的),为6789

我也是新手大家多多交流哈
2008-11-28 12:55
SnakeEater
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-11-25
收藏
得分:0 
回复 第5楼 tehi 的帖子
它是以%s形式输出啊。。。。。
2008-11-28 12:57
liyang3532785
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-25
收藏
得分:0 
回复 第6楼 SnakeEater 的帖子
看来是题的问题了!
2008-11-28 13:02
SnakeEater
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-11-25
收藏
得分:0 
这个a[10],a本身就是一个地址(首元素地址),输出字符串格式(%S)要以a或其他指针表示输出位置的
2008-11-28 13:03
SnakeEater
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-11-25
收藏
得分:0 
意思是从p-3开始向后输出%s格式的数据(字符串格式),p-3指向a[5],那么一直输出到/0(就是ASCII为0的),为6789
2008-11-28 13:05
liyang3532785
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-25
收藏
得分:0 
回复 第8楼 SnakeEater 的帖子
你的意思是说最后的0 就是用ASCII码值表示的  就相当于字符串中的\0吗  也就是说输出到0结束
2008-11-28 13:14
SnakeEater
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-11-25
收藏
得分:0 
嗯,对,因为这是一个char型,‘0’和0是不同的,0的话就是\0,‘0’在int型应该是48,\0就是0了
相当于初始化a[10]为“123456789\0”
2008-11-28 13:18
快速回复:帮我看一下这个指针问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012579 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved