| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 915 人关注过本帖
标题:关于c语言char与long,long的问题,求论坛高人指点
只看楼主 加入收藏
c语言小学童
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
关于c语言char与long,long的问题,求论坛高人指点
#include <stdio.h>

main()
{
    long long *pp1 = &buf[1];
    long long *pp2 = &buf[3];
    printf("%d\n", pp2-pp1);  //pp2-pp1打印结果是1,这是为啥呀?本人太小白,希望先行者回答的通俗一点
    getch(); return 0;

    char *pp1 = &buf[1];
    char *pp2 = &buf[3];
    printf("%d\n", pp2-pp1); //打印结果是8,这个又是为啥?
    getch(); return 0;
}
搜索更多相关主题的帖子: include return c语言 
2016-11-22 00:37
c语言小学童
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-20
收藏
得分:0 
顺便问下,最后一行代码,return的前面每次都必须加getch(),否则我按F5调试,黑框一闪就没了,加了getch黑框不会消失,我用的是vs2013,这个又是为啥?
2016-11-22 00:44
c语言小学童
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-20
收藏
得分:0 
明白了,3-1 = 2,因为buf是int类型,2个int类型等于8个字节,8个字节不就等于8个char,1个long long,是这个意思吗?
2016-11-22 00:48
三多兄
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2016-10-23
收藏
得分:20 
居然可以打印,你的buf[]数组定义呢?  printf("%d\n",p2-p1);实际打印的是(p2-p1)/(buf[]数组的类型),你打印出的是1,那应该就是char类型了
2016-11-22 09:38
快速回复:关于c语言char与long,long的问题,求论坛高人指点
数据加载中...
 
   



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

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