VS2017使用scanf()从键盘读取字符串

vs2017上无法使用scanf()函数,但是提供了scanf_s()函数,在使用scanf_s()读取二维数组时遇到了以下问题

代码:

int main()
{
	char a[10][5]; //定义一个二维数组
	scanf_s(“%s",a[1]); //输入一个字符串到第二行
	printf(”%s“,a[1]);
	return 0;
}

上述代码语法上并没有什么问题,但是执行时报错。

解决方法

给scanf_s函数制定一个参数,告诉编译器预留多大的空间来存储字符串sizeof()或直接给定一个数字大小,够用就可以。
代码:

int main()
{
	char a[10][5]; //定义一个二维数组
	scanf_s(“%s",a[1],sizeof(a[0]); //输入一个字符串到第二行
	printf(”%s“,a[1]);
	return 0;
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38904904/article/details/89293790