同志们,这个警告怎么解决

img

img

img


我运行这个程序也可以,但是他的分数始终少10分,问题出在哪啊,它跳警告说变量或者函数不安全,但我没看出哪不安全啊

两个办法,一个是 scanf_s 代替 scanf
一个是代码最最上面加入一句宏定义:#define _CRT_SECURE_NO_WARNINGS

你把报错的英文翻译成中文好好看看就知道了,这个不影响的
数组a没有初始化,里面是些随机数,所以你判断a[count]==0就break,里面很可能根本就不是0
当n很小而k很大时,素数个数不足k个,此时就有bug了

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7675933
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【数组编程】请定义一个有10个元素的整型数组并从键盘输入进行赋值,请输出数组中是素数的数组元素个数,并分别输出它们。
  • 除此之外, 这篇博客: 三子棋游戏思路中的 下面的代码每次打印一个数据,打印一个竖线 一行打印完之后换行打印横线。就是除了数据元素,再就是打印棋盘的结构,让我们的棋盘能显现出来。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    void DisplayBoard(char borad[ROW][COL], int row, int col)
    {
        int i = 0;
        for (i = 0; i < row; i++)
        {
            int j = 0;
            for (j = 0; j < col; j++)
            {
                printf(" %c ", borad[i][j]);
                if (j < col - 1)
                {
                    printf("|");
                }
            }
            printf("\n");
            if (i < row - 1)
            {
                for (j = 0; j < col; j++)
                {
                    printf("---");
                    if (j < col - 1)
                        printf("|");
                }
                printf("\n");
            }


        }
    }

  • 您还可以看一下 田德华老师的小程序·云开发实战 微信朋友圈所有功能课程中的 发布动态 ~ 获取头像、昵称小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    首先,程序得分总是少10分的问题需要具体分析程序才能得出答案,需要查看代码和分数计算的逻辑才可以找到具体的问题和解决方案。

    其次,警告信息"变量或函数不安全"一般是指使用了不安全的函数,如strcpy等,可能会存在缓冲区溢出等安全问题。可以使用更安全的函数替代,如strncpy等。如果确定没有使用不安全的函数,可以忽略该警告,或者添加编译选项来关闭该警告。

    以下是使用strncpy替代strcpy的示例代码:

    char dest[20];
    char src[10] = "hello";
    strncpy(dest, src, sizeof(dest));
    

    如果没有找到代码中的问题,可以考虑使用调试工具来调试程序,找出具体的问题所在,并提出修改方案。常用的调试工具有VSCode,Visual Studio等。

    最后,根据程序的实际情况,可以考虑使用静态分析工具来检测程序中的安全问题,如Coverity等。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^