首页
社区
课程
招聘
[旧帖] [原创]科锐培训三道测试题---参考解答... 0.00雪花
发表于: 2007-10-24 22:50 5398

[旧帖] [原创]科锐培训三道测试题---参考解答... 0.00雪花

2007-10-24 22:50
5398
刚才吃方便面看了那三道题  ...

第一道 用嵌入汇编就可以了
第二道 数组越界....
第三道 附C语言源代码...

/// Maked  by  CCDeath
#include"stdio.h"
#include"string.h"
#include "stdarg.h"  

int add(int ,...);//
int main(int argc, char* argv[])
{
//        printf("woia");
        int b=add(100,700,200,0);
        printf("%d\n",b);
        return 0;
}
int add(int a,...)
{
        va_list argp;//定义保存函数参数的结构
        int                argno=0;//记录参数的个数
        int     CCDeath;//存放取出的int 类型参数
        int                total=0;//返回总求和
        va_start(argp,a);//指向第一个参数 开始与后面va_end()配对
        total=a;
        while(1)
        {                 
                CCDeath = va_arg(argp,int );//记得这是从第二个参数开始
                if(CCDeath==0)//最后一个参数必须为0,才能退出     
                         break;
                total+=CCDeath;               
                argno++;//取下一个               
        }
        va_end(argp);//清空       
        return total;//返回总和
}
记得最后一个参数必须是0才能退出循环...

对于三道题  还有其他的做法:
比如
forever的做法:
int add(int a,...)
{
        int total;
        int *param;
    param = &a;
        total = 0;
        while( *param != 0 )
        {
                total += *param;
                param ++;
        }

        return total;

}

大家请多多指教....

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我记得科锐的网站上有三道题目的参考答案,需要的朋友可以去看看,楼主真是菜鸟之友啊
2007-10-30 13:17
0
游客
登录 | 注册 方可回帖
返回
//