彗星爱酿酒 2022-11-23 00:35 采纳率: 58.6%
浏览 15
已结题

与数组指针相关的字符转换问题

7-1 字符转换分数 15
全屏浏览题目
切换布局
作者 杨起帆
单位 浙大城市学院
本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。
输入格式:
输入在一行中给出一个不超过80个字符且以回车结束的字符串。
输出格式:
在一行中输出转换后的整数。题目保证输出不超过长整型范围。
输入样例:
free82jeep5
输出样例:
825
我的代码

img

救命,我该怎么办?这错哪儿了,要怎么改呀?(T_T)

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-11-23 08:14
    关注

    错误的根是p指针是空指针。但即使不是空指针,你这也不可能得到正确结果的。

    #include <stdio.h>
    int main()
    {
        char ch[80];
        int n = 0,i=0;
        gets(ch);
        while(ch[i] != '\0')
        {
            if(ch[i] >= '0' && ch[i] <= '9')
                n = n*10 + ch[i] - '0';
            i++;
        }
        printf("%d",n);
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月24日
  • 创建了问题 11月23日