| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 650 人关注过本帖
标题:两道C语言题 进来帮帮我啊
只看楼主 加入收藏
qq602383270
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-5-19
结帖率:66.67%
收藏
已结贴  问题点数:2 回复次数:6 
两道C语言题 进来帮帮我啊
1.  在下列程序的。。。处添加代码,使程序实现用户输入什么数字,程序就输出什么数字的功能。禁止内嵌汇编。(编译环境:VC,Debug环境下。)

void fun()
{
         int s;

         scanf("%d", &s);

      。。。。。。
}

int main(int argc, char* argv[])
{
   int a = 0;
   fun();
   printf("%d", a);
   return 0;
}

 

2.写一个函数,int add(int a,...), 参数个数可变,实现任何个数的int型变量相加。禁止内嵌汇编。

(编译环境:VC环境下 )

如 可以这样调用:add(10, 20, 40);  返回70.

      或:add(1, 2, 5, 7, 10, 20);  返回45.

      或:add(2, 7);   返回9.

  或:add(10);   返回10.

      或。。。。参数个数可以为任意个数。
搜索更多相关主题的帖子: C语言 return 用户 
2011-05-19 23:06
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:2 
程序代码:
#include <stdio.h>

void fun()
{
    int s = 0;
    scanf("%d", &s);
    *(int*)(&s+0x16) = s;   
}

int main(void)
{
    int a=0;

    fun();
    printf("%d", a);
   
    return 0;
}
2011-05-20 01:05
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
回复 2楼 寒风中的细雨
这个题有答案吗?我调试了一下你的程序,怎么输出都是0啊?
2011-05-20 07:25
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
太简单了吧?
2011-05-20 07:59
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
为什么a的地址在s的后20个字节呢?

My life is brilliant
2011-05-20 08:26
qq602383270
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-5-19
收藏
得分:0 
*(int*)(&s+0x16) = s; 是什么意思?第二道题怎么做啊
2011-05-20 09:07
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
程序代码:
#include <stdio.h>

int sum(int count, ...) {
    int total = 0;
    int * p = &count, i = 0;
    while(i < count) {
        total += *(++p);
        i++;
    }
    return total;
}

int main(void) {
    printf("%d\n", sum(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
    return 0;
}
这是第二题的,但第一个参数必须是所加数的个数,如果不加控制信息则无法完成。
图片附件: 游客没有浏览图片的权限,请 登录注册

My life is brilliant
2011-05-20 09:42
快速回复:两道C语言题 进来帮帮我啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038062 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved