标题:求助!用递归函数编写整数字符串转换成整型。程序运行时显示停止工作
只看楼主
哈一
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-6-8
结帖率:50%
已结贴  问题点数:10 回复次数:5 
求助!用递归函数编写整数字符串转换成整型。程序运行时显示停止工作
程序代码:
#include<stdio.h>
int str(char *s,int start,int end) 
{
    if(start==end)
        return s[start]-'0';
    return str(s,start,end-1)*10+s[end]-'0';
}
void main()
{
    char *a;
    int n,i;
    n=i=0;
    gets(a);
    while(a[i]!='0')
        i++;//求出字符串长度
    n=str(a,0,i-1);
    printf("%d\n",n);
}



没有语法错误,额,我也不知道怎么改了。运行显示停止工作。是哪里出了问题啊?
搜索更多相关主题的帖子: 运行 显示 停止 工作 start 
2017-10-12 21:54
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
// char *a;
 char a[200];
2017-10-12 22:07
哈一
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-6-8
得分:0 
回复 2楼 吹水佬
不行,还是停止工作。
2017-10-12 22:09
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:4 
while (a[i] != '\0')  外加二楼

早知做人那么辛苦!  当初不应该下凡
2017-10-12 22:44
哈一
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-6-8
得分:0 
回复 4楼 炎天
啊!谢谢谢谢,原来我忘了\  多么的无奈啊。还有我想问一下为什么直接定义成字符串指针不可以啊?
2017-10-13 15:46
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:4 
回复 5楼 哈一
直接定义char *a 是可以的 需要运行时(或者使用之前)非配内存

而类似 char a[200] 这个则是非配了固定大小的内存

DO IT YOURSELF !
2017-10-13 15:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481338-1-1.html




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

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