medky

    1. 05.10【每日一问】C语言问题 49/10579 综合技术交流 2011-05-17
      确实是浮点数的格式决定的啊,10/3应该是在编译的时侯算的,由于编译器不知道究竟是浮点数的除法还是整数的除法,所以根据被除数和除数的类型判断,所以默认用的整形的除法所以结果是3,转换成浮点数的时候由于内存的布局低位被无视了。所以我们处理浮点的时候应该明确告诉编译器这个是个浮点数,比如我们用(float)10/3就达到目的了。
    2. "0123456789abcdef"[i] 6/5132 编程基础 2011-05-17
      还好吧,至少结果不会在意料之外,不过在C陷进与缺陷里面说用"0123456789abcdef" [ i ]这种字符表的方式,是数字转换成字符的,具有较强的移植性的表达方式。
    3. "0123456789abcdef"[i] 6/5132 编程基础 2011-05-15
      int a[10]; 5[a] =5; a[5] =5; 是一样的效果。。 "0123456789abcdef"[0]是0 "0123456789abcdef"[9]是a。   [ 本帖最后由 medky 于 2011-5-15 00:01 编辑 ]
    4. 为什么论坛里没有专门的C语言这个版快 28/7107 为我们提建议&公告 2011-05-14
      ArrayLength = sizeof(number)/sizeof(number[0]); 这句貌似有问题, 用数组名作形参其实在函数当中会退化成指针,也就是说sizeof(number)其实是一个指针的长度,比如32位机的话就是4,所以只用一个指针变量名是无法知道数组的大小的,一般我们是传递两个参数,一个首地址另外一个是数组的大小。 另外其他地方这样用是因为他的number是一个全局数组,或者是在当前函数的堆栈区。 如有错误之处欢迎大家指正。

最近访客

< 1/1 >

统计信息

已有56人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:4

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言