免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 25102 | 回复: 29
打印 上一主题 下一主题

又发现一个C和C++的小不同 [复制链接]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
1 [报告]
发表于 2011-10-20 23:05 |显示全部楼层
回复 2# AD8018

variable length array, designated initializer...

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
2 [报告]
发表于 2011-10-20 23:07 |显示全部楼层
回复 5# AD8018

武夫就应该亮肌肉,让他动脑子不是为难他么……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
3 [报告]
发表于 2011-10-20 23:13 |显示全部楼层
回复 11# 塑料袋

还是别说这些细节问题了,我脑子不好使,转不过这么多弯来。
塑料袋 发表于 2011-10-20 23:06


我只是猜到你会被AD8018绕晕。
转不过弯可是你自己说的。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
4 [报告]
发表于 2011-10-20 23:20 |显示全部楼层
回复 11# 塑料袋

C你也不是外行吧? 能帮我解决个问题么?

有如下定义:

  1. enum {
  2.       chinese,
  3.       math,
  4.       english,
  5.       end,
  6. };

  7. typedef struct
  8. {
  9.       char name[12];
  10.       int mark[end];
  11. } student;
复制代码
该如何用 qsort(这算是libc吧?) 实现

  1. void sort(student s[], int n, int c);
复制代码
使得 sort(s, n, chinese) 是按语文成绩排序。
sort(s,n, math)按数学, english按英语?


同时考虑一个问题: 如果enum(以及student)演化为这样

  1. enum {
  2.       chinese,
  3.       math,
  4.       english,
  5.       physics,
  6.       chemistry,
  7.       biology,
  8.       end,
  9. };
复制代码
其他代码会做什么样的变化?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
5 [报告]
发表于 2011-10-20 23:26 |显示全部楼层
回复 17# 塑料袋

以己之长以人之短,不觉得胜之不武么?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
6 [报告]
发表于 2011-10-20 23:31 |显示全部楼层
回复 18# AD8018

嘘~ 你这一说…… 还怎能让对方轻敌呢……
这不是逼着我换一题么?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
7 [报告]
发表于 2011-10-20 23:33 |显示全部楼层
回复 22# 塑料袋

你觉得我那是学生课本上的题, 而AD8018看出玄机了。这就是差距。

我上面一贴是不是高估你了?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
8 [报告]
发表于 2011-10-20 23:35 |显示全部楼层
下一题都想好了…… 这是出呢还是不出呢

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
9 [报告]
发表于 2011-10-20 23:48 |显示全部楼层
回复 25# 塑料袋

记得我在"C不过是山寨pascal"里回你的, 究竟什么是本质吗? 那一串反问。
你所谓的本质,其实更准确的说法是你能看到与摸到的层次
本质是无底线、 细节是无穷尽的。
如果不学会"研究无法看到与摸到的事物","研究事物的共性"的方法,很难有什么造诣。
你说的那些都只是知识,很难算做技能
知识是学不完的, 但技能可以提高学习知识的速度、深度、广度。

外功有余而内功不足 —— 这算是总结吧。


当然,在你看来细节才是金子,其他都是瓦砾 —— 这我真没法说服你……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
10 [报告]
发表于 2011-10-20 23:50 |显示全部楼层
回复 28# AD8018

void test(); /* C */
void test(...); // C++

void test(void); /* C */
void test(); // C++

void test(T x, ...); /* C or C++ */

似乎自己被坑过……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP