我正在尝试制作一个程序,该程序使用一个 scansf 函数立即获取某个人的全名,并将每个字母存储在一个数组的一层中。 例如,如果输入的名称是“tim”,它应该怎么做:
array[0]=t
array[1]=i
array[2]=m
array[3]=\0
我已经在其他威胁中读过这个但它不起作用:
#include <stdio.h>
int main(void) {
char array[256];
scanf_s("%s", array);
printf_s("%s", array);
return 0;
}
它会显示以下错误消息:
英文:
执行在0x0FAA0B5C处触发 写入位置0x01300000时的访问冲突
是否可以使用 scanf 功能,如果是,如何? 或者有更好的选择吗?
感谢您添加缓冲参数工作
代码:
#include <stdio.h>
#include "stdafx.h"
int main(void) {
char array[256];
scanf_s("%255s", array, 256);
printf("%s", array);
return 0;
}
答案 0 :(得分:1)
只需使用scanf
vectorize_all = FALSE
答案 1 :(得分:1)
可以在没有scanf
的情况下使用_s
。 E.g:
scanf("%s",array);
printf("%s\n", array);
答案 2 :(得分:0)
如果您想使用scanf_s,请查看here