| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:指针 字符串 问题
取消只看楼主 加入收藏
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:2 
指针 字符串 问题
# include <stdio.h>

int main (void)
{
    char name[81];
    char * ptr;
    ptr = name;

    gets(name);

    printf ("%s\n", name);
    printf ("%s\n", ptr);
    printf ("%p\n", &ptr);
    printf ("%p\n", *ptr);

    return 0;
}

输入
    ddd

输出
         ddd
         ddd
    0012FF28
    00000064

为什么输出ptr是ddd?
为什么不应该是*ptr的值为ddd?
那*ptr又是什么东西?

char *ptr中ptr不是指向name么?
搜索更多相关主题的帖子: include return 字符串 
2014-07-28 13:51
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
收藏
得分:0 
回复 2 楼 wp231957
*ptr是懂了,至于为什么ptr等于name,更深入点的是为什么?还是不要问为什么。

还有那个0012FF28是ptr的地址,不是name[0]的地址,我刚才试了,neme[0]的地址和name的地址都是0012FF2C
2014-07-28 14:25
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
收藏
得分:0 
回复 3 楼 funyh250
虽然看不懂,不过谢谢,我会仔细看看的。
2014-07-28 14:26
快速回复:指针 字符串 问题
数据加载中...
 
   



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

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