格格家的格格巫 2019-11-20 19:51 采纳率: 0%
浏览 292

输入“1234”为什么这个题的结果是54562而不是1234

#include <stdio.h>
#include <stdlib.h>
int f(char *s)
{
    int nk = 0;
    while(*s)
    {
        nk = nk*10+*s++;
    }
    return nk;
}
int main()
{
    char a[5];
    char*s = a;
    scanf("%s",a);
    printf("%d",f(s));
    return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-20 21:00
    关注
    #include <stdio.h>
    #include <stdlib.h>
    int f(char *s)
    {
        int nk = 0;
        while(*s)
        {
            nk = nk*10+(*s++ - '0');
        }
        return nk;
    }
    int main()
    {
        char a[5];
        char*s = a;
        scanf("%s",a);
        printf("%d",f(s));
        return 0;
    }
    

    问题解决,请点下采纳

    评论

报告相同问题?

悬赏问题

  • ¥15 sql server 2012的下载出错
  • ¥15 图像识别用户软件开发
  • ¥20 类原生rom lineageos
  • ¥15 有没有会做中专,云计算,卷子的,有偿一百块
  • ¥15 HC32串口DMA循环发送数据
  • ¥15 Uni-App实现飞书授权登陆
  • ¥50 Qt应用中如何通过代码打开开发者工具devtools
  • ¥20 mpp硬解码h264转为yuv
  • ¥40 怎样批量对比两个数据库的表差异
  • ¥15 lettuce连接哨兵redis,主从切换异常