当前位置: 代码迷 >> C语言 >> 【求助】一段跨国公司面试C语言代码分析(急)!
  详细解决方案

【求助】一段跨国公司面试C语言代码分析(急)!

热度:251   发布时间:2008-05-30 04:52:51.0
【求助】一段跨国公司面试C语言代码分析(急)!
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-29 20:52:51
mqh21364

等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
  得分:0 
这个嘛,好多地方都不对阿,
比如说变量名字用大写,少头文件,变量的定义和调用不一样。。。。。

个人看法,可以用枚举来改进。
----------------解决方案--------------------------------------------------------
再说几句

但是我很佩服写程序的这个人。他的注释,空格,缩进之类的作得都很好。这种水平的人应该不会犯代码里面的错误。 估计是别人拿过来给改成错的的。

另外,这个程序应该是Uniex/Linux下面编写的,我看他的变量的命名方式不是Windows下的命名方式。
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 04:07:22
闪闪4521

等 级:新手上路
帖 子:196
专家分:0
注 册:2007-11-30
  得分:0 
完全不明白...
主函数都没有...
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 11:01:05
mqh21364

等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
  得分:0 
没有主函数不算什么啊。
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-31 10:59:38
wish_rain

等 级:新手上路
帖 子:60
专家分:0
注 册:2008-4-4
  得分:0 
我觉得设计错误在结构体

typedef struct _RAINBOW
{
int num_cols;
int cols[7];
char *cols_str[7];
} RAINBOW;


int cols[7];char *cols_str[7];都给定了大小是7了
设置num_cols有什么意义
init()中cols_str[i]前面应该加rbow.吧

char *get_rainbow_colour_str(int colour)中char col_str[5];5个肯定不够
strcpy(col_str, rbow.cols_str[colour]);应该为
strcpy(col_str, rbow.cols_str[colour-1]);

int get_rainbow_colour(char *colour_str)中也有同样错误
for (col_idx = RBOW_RED; col_idx <= RBOW_VIOLET; col_idx++)应为
for (col_idx = RBOW_RED-1; col_idx <= RBOW_VIOLET-1; col_idx++)
而且没有异常处理
比如输入颜色为black就没有返回值

int test_rainbow_colour()中测试的每个语句都有返回值,我觉得应该把他们赋给程序中的变量,不然有什么意义
----------------解决方案--------------------------------------------------------
static char rev[] = "$Revision: $";
static char hdr[] = "$Header: $";
这是什么意思,不太明白
----------------解决方案--------------------------------------------------------
  相关解决方案