1164323996 发表于 2015-7-9 14:23:15

闹不明白 纠结了半天

1.#include <stdio.h>

2.main()

3.{

4.      int a = 011;

5.      printf("%d", a ++);

6.}结果输出是9为什么啊 不知道怎么算

哥斯拉不说话 发表于 2015-7-9 16:50:38

1164323996 发表于 2015-7-9 16:48
那不明白了又 怎么在程序后边打

#include <stdio.h>

int main()
{
        int a=011;
       
        printf("%d\n", a++);
        printf("%d\n",a);
       
        return 0;
}

哥斯拉不说话 发表于 2015-7-9 16:20:56

把11前边的0去掉就可以了,加了0的话就会按八进制处理,八进制的 11 就是十进制的 9

1164323996 发表于 2015-7-9 16:41:14

哥斯拉不说话 发表于 2015-7-9 16:20
把11前边的0去掉就可以了,加了0的话就会按八进制处理,八进制的 11 就是十进制的 9

a++   ++没有起作用是不

哥斯拉不说话 发表于 2015-7-9 16:44:21

1164323996 发表于 2015-7-9 16:41
a++   ++没有起作用是不

起作用了啊,a++,先使用后加1,先打印出 a 的值,然后 a 自增1,你可以在程序后边打印出 a 的值试试,肯定是自增后的值。

1164323996 发表于 2015-7-9 16:45:26

哥斯拉不说话 发表于 2015-7-9 16:44
起作用了啊,a++,先使用后加1,先打印出 a 的值,然后 a 自增1,你可以在程序后边打印出 a 的值试试,肯 ...

豁然开朗 谢谢哈 谢谢

1164323996 发表于 2015-7-9 16:48:09

1164323996 发表于 2015-7-9 16:45
豁然开朗 谢谢哈 谢谢

那不明白了又 怎么在程序后边打

牡丹花下死做鬼 发表于 2015-7-9 16:53:11

八进制 11换成十进制就是9

1164323996 发表于 2015-7-9 16:55:48

哥斯拉不说话 发表于 2015-7-9 16:50


你真好 前面%d后边没有打\n运行的是 910明白了 谢谢 为什么return 0;我删掉调试了一下没有它也可以 它有什么作用呢

1164323996 发表于 2015-7-9 16:59:28

牡丹花下死做鬼 发表于 2015-7-9 16:53
八进制 11换成十进制就是9

谢谢

哥斯拉不说话 发表于 2015-7-9 17:04:39

1164323996 发表于 2015-7-9 16:55
你真好 前面%d后边没有打\n运行的是 910明白了 谢谢 为什么return 0;我删掉调试了一下没有它也可 ...

C语言一个标准而已,写不写都行,但提倡写成 int main(),程序最后加一个 return 0; 的形式,就像我写的那样。

风逝~ 发表于 2015-7-11 17:49:36

011是八进制转换后是9,加了以后实际是10
页: [1]
查看完整版本: 闹不明白 纠结了半天