函数是个好东西 2022-06-11 12:12 采纳率: 100%
浏览 43
已结题

关于c语言数组越界访问问题

img


#define _CRT_SECURE_NO_WARNINGS

#include  <stdio.h>

#include<string.h>
int main(void)
{
    int count=1;
    char number[20]={0};
    char *p = number;
    gets_s(number);
    if (*p == '1')
    {
        *p++;
        while (*p >= '0' && *p <= '9')
        {
            count++;
            *p++;
        }
        if (count == 11)
        {
            printf("yes");
            return 0;
        }
    }
    printf("no");
    return 0;
}

运行后c语言数组越界访问
是不gets的问题

img


如何修改

  • 写回答

2条回答 默认 最新

  • 加油吧,小杜 2022-06-11 13:24
    关注

    重写写了一个,你可以试试

    int main()
    {
        char s[20];
        printf("请输入手机号码\n");
        scanf("%s",&s);
        if(strlen(s)==11&&s[0]=='1')
        {
            for(int i=0;i<11;++i)
            {
                char ch=s[i];
                if(ch<'0'&&ch>'9')
                {
                    printf("no\n");
                    break;
                }
            }
            printf("yes\n");
        }else
        {
            printf("no\n");
        }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月20日
  • 已采纳回答 6月12日
  • 修改了问题 6月11日
  • 创建了问题 6月11日

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog