scanf_s函数的问题?

int num,i, a[17];
	for (i = 0; i <= 17; i++)
	{
		scanf_s("%d",a,i);
	}

0x79B7A6BE (ucrtbased.dll)处(位于 MOD11-2.exe 中)引发的异常: 0xC0000005: 写入位置 0xCCCCCCCC 时发生访问冲突。

什么情况?

如果程序没问题是我输入方式有问题吗?

1 2 3 4 5 6......

Microsoft Visual Studio 2019 10.0(刚更新完)

17个数组大小,那么循环时最大下标应该为16,数组越界了

int num,i, a[17];
	for (i = 0; i < 17; i++)
	{
		scanf_s("%d",&a[i]);
	}

 

scanf_s("%d",a,i);这个是输入函数,输入的值应该指向变量的内容地址

scanf_s("%d %d",&a,&i);这样写才对。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632