| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1094 人关注过本帖
标题:请教两个C语言的问题
只看楼主 加入收藏
airhiphop
Rank: 4
来 自:江苏南通
等 级:业余侠客
帖 子:69
专家分:256
注 册:2007-11-16
结帖率:100%
收藏
 问题点数:0 回复次数:8 
请教两个C语言的问题
第一个:和函数有关,比如我建立了两个函数A(),B().现在我在函数A中调用函数B,当B执行到一定时候又要调用A,如此循环.现在提问.
调用方式如下A-> B-> A-> B-> A-> B........-> B.第一次A调用了B之后,又重新调用A.如何再次调用A的时候,把前面的调用释放?

第二个:现在一个二维数组中,比如char   a[3][3],a[0][]={"1,2,3"},a[1][]={"4,5,6"},如何执行加法运算.就是要执行123+456.高手们提点下吧.
搜索更多相关主题的帖子: C语言 函数 加法 char 
2008-02-23 20:31
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
前一个有点像递归,建议你找点递归程序看看...
后一个自己想想很好实现...
2008-02-23 20:36
airhiphop
Rank: 4
来 自:江苏南通
等 级:业余侠客
帖 子:69
专家分:256
注 册:2007-11-16
收藏
得分:0 
第一个知道像递归.但是我的问题是.如何在第二次调用的时候.把第一次调用的释放掉.
第二个问题么.如果不进位的话.很简单.如果有进位.哪应该怎么弄.还有如果数位不奇的话.稍微给点提示吧

2008-02-23 20:42
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
递归是层层递进的关系,在到达最后一步调用之前,前面的所有调用都只是个未知数。中途就可以被释放先前调用的那不叫递归。
第二个问题,看你的数组定义似乎有点问题。
2008-02-23 20:47
airhiphop
Rank: 4
来 自:江苏南通
等 级:业余侠客
帖 子:69
专家分:256
注 册:2007-11-16
收藏
得分:0 
恩.第一个问题不管了.
第二个的意思.就是把一串数字.分解成一个一个字符.保存在数组中.然后再执行加法运算.应该怎么弄

2008-02-23 20:52
hxgcczz
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-1-11
收藏
得分:0 
m=10*m+a[0][i]-'0'
2008-02-23 21:04
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
/*试一试*/
#include "stdio.h"
int main()
{
    char a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
    int num=0;
    int c=0;
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
            num=num*10+a[i][j];
        c=c+num;
        num=0;
     }
     printf("%d",c);
     return 0;
}

[[it] 本帖最后由 xianshizhe111 于 2008-2-23 23:14 编辑 [/it]]
2008-02-23 23:09
龙=虾
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-12-26
收藏
得分:0 
第1个问题: 这就是递归调用, 子函数不能释放上几层函数的调用的.
第2个问题: 两种方法可以做,一是按位加,注意保存进位.
           一是把数组里的数合成一个数然后加( 不过数据巨太时是行不通的)
2008-02-23 23:39
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
第二个问题...按位加
a[length-1]+b[length=1]...一直这么加上去...判断一下两个数组的长度...即使A,B数字长度不同也可以的...再设置一个临时布尔temp...如果相加大于10temp就为真,同时相加的数减10...然后上一位的数相加之后还要加一...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-02-24 08:38
快速回复:请教两个C语言的问题
数据加载中...
 
   



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

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