我无法确定为什么这个C程序给我这个答案

Himanshu Phulara

不知道为什么输出是6?在给定的C程序中,每次都会得到6的输出,所以我不能说它在打印垃圾值

#include<stdio.h>
void main()
{
    int const* a=2; 
    printf("%d\n",++(a));
}

我无法确定为什么这个C程序给我这个答案。

布奇·迪恩

实际上,这很容易调试,以查看此处发生了什么。运行这段代码,然后看一下值:

#include<stdio.h>
int main()
{
    int const* a=2;

    printf("Size of int %d\n", sizeof(int));
    printf("Size of int const* %d\n", sizeof(int const*));
    printf("Size of a %d\n", sizeof(a));
    printf("Not incremented %d\n", a);
    printf("Incremented %d\n",++(a));

    return 0;
}

我得到的输出:

Size of int 4
Size of int const* 8
Size of a 8
Not incremented 2
Incremented 6

在64位计算机上。显然,这表明当您执行“ ++(a)”时,会将int的大小加2。当您声明时为什么会是这种情况

int const* a=2;

好吧,这是因为您将指针类型的大小加2而不是指针的大小。改成:

long const* a = 2;

要观察差异并看到情况就是如此。

这是C / C ++语言的怪癖。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这个Java计算器给我这个答案?

来自分类Dev

为什么java -version给我这个?

来自分类Dev

不明白为什么这个程序给我这个输出。请给我解释一下

来自分类Dev

为什么我的lisp函数会给我这个输出?

来自分类Dev

我知道这个程序的答案,但我不明白为什么?

来自分类Dev

为什么我的表单给我这个错误“因为数据未通过验证,所以无法更改”。

来自分类Dev

为什么这个Ruby on Rails程序给我一个语法错误?

来自分类Dev

为什么这个strstr实例给我分段错误?

来自分类Dev

为什么这个strstr实例给我分段错误?

来自分类Dev

为什么 python 给我这个错误?[KeyError : 'left']

来自分类Dev

为什么这个 Java 代码总是给我“错误”的陈述?

来自分类Dev

为什么这个 if 语句给我一个 ValueError?

来自分类Dev

为什么我无法抓取这个网站?

来自分类Dev

为什么我在这个 C 代码中得到了错误的答案?

来自分类Dev

这个程序给我无限的菜单(做)

来自分类Dev

无法确定为什么我从Challonge API收到404

来自分类Dev

谁能告诉我为什么这个where子句没有给我结果?

来自分类Dev

为什么这个程序的输出不是我的想法

来自分类Dev

为什么这个抽屉会关闭我的应用程序?

来自分类Dev

为什么我得到这个程序的错误输出?

来自分类Dev

为什么我无法成功摆脱这个Ruby循环?

来自分类Dev

为什么这个Orion订阅无法按我的要求工作?

来自分类Dev

为什么我无法成功摆脱这个Ruby循环?

来自分类Dev

为什么我的简单C ++程序给我错误。

来自分类Dev

为什么myHDL手册中的这个示例给我不同的结果?

来自分类Dev

为什么这个rsync + ssh cron作业会给我“权限被拒绝(公钥)”错误?

来自分类Dev

为什么这个Google表格串联公式给我带来奇怪的结果?

来自分类Dev

为什么这个递归示例给我一个无限循环?

来自分类Dev

为什么这个rsync + ssh cron作业会给我“权限被拒绝(公钥)”错误?

Related 相关文章

  1. 1

    为什么这个Java计算器给我这个答案?

  2. 2

    为什么java -version给我这个?

  3. 3

    不明白为什么这个程序给我这个输出。请给我解释一下

  4. 4

    为什么我的lisp函数会给我这个输出?

  5. 5

    我知道这个程序的答案,但我不明白为什么?

  6. 6

    为什么我的表单给我这个错误“因为数据未通过验证,所以无法更改”。

  7. 7

    为什么这个Ruby on Rails程序给我一个语法错误?

  8. 8

    为什么这个strstr实例给我分段错误?

  9. 9

    为什么这个strstr实例给我分段错误?

  10. 10

    为什么 python 给我这个错误?[KeyError : 'left']

  11. 11

    为什么这个 Java 代码总是给我“错误”的陈述?

  12. 12

    为什么这个 if 语句给我一个 ValueError?

  13. 13

    为什么我无法抓取这个网站?

  14. 14

    为什么我在这个 C 代码中得到了错误的答案?

  15. 15

    这个程序给我无限的菜单(做)

  16. 16

    无法确定为什么我从Challonge API收到404

  17. 17

    谁能告诉我为什么这个where子句没有给我结果?

  18. 18

    为什么这个程序的输出不是我的想法

  19. 19

    为什么这个抽屉会关闭我的应用程序?

  20. 20

    为什么我得到这个程序的错误输出?

  21. 21

    为什么我无法成功摆脱这个Ruby循环?

  22. 22

    为什么这个Orion订阅无法按我的要求工作?

  23. 23

    为什么我无法成功摆脱这个Ruby循环?

  24. 24

    为什么我的简单C ++程序给我错误。

  25. 25

    为什么myHDL手册中的这个示例给我不同的结果?

  26. 26

    为什么这个rsync + ssh cron作业会给我“权限被拒绝(公钥)”错误?

  27. 27

    为什么这个Google表格串联公式给我带来奇怪的结果?

  28. 28

    为什么这个递归示例给我一个无限循环?

  29. 29

    为什么这个rsync + ssh cron作业会给我“权限被拒绝(公钥)”错误?

热门标签

归档