CLion使用scanf报错,改用scanf_s后程序运行正常,但出现乱码?

CLion使用scanf报错,改用scanf_s后程序运行正常,但出现乱码

#include <stdio.h>
#define M 3
int main()
{
    int i,j,a[M][M],*q,(*p)[M];
printf("请输入方阵数据:");
    for (q = a[0]; q < a[0] + M * M; q++)
    {
        scanf_s("%d", q);
    }
p=a;
for(i=0;i<M;i++)
{
    for(j=0;j<M;j++)
    printf("%5d",p[i][j]);
printf("\n");//换行
}
   return 0;
}


img

你那个函数没关系,和你文件的编码有关系,不知道你 Clion 的版本,新版本里面,中文汉字需要 utf-8 编码才行

如果你知道怎么转换文件编码,就用 visual studio code 之类的工具改下文件编码

拷贝你现在的代码,通过 Clion 新建文件,然后粘贴进去,应该就恢复正常了