Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 打印阵列中断错误_C_Arrays_Printing - Fatal编程技术网

C 打印阵列中断错误

C 打印阵列中断错误,c,arrays,printing,C,Arrays,Printing,我有一个问题要打印出来。我不确定哪里出了问题,因为编译器没有给我任何错误。然而 我在运行程序时遇到中断错误。任何帮助都将不胜感激。谢谢。我认为您的扫描功能是错误的。如果您使用的是C语言,那么它应该是scanf 同样,在C语言中打印数组是很困难的。您必须循环遍历数组中的每个元素并打印它 因此: 我要感谢所有试图帮助我的人。在离开一段时间后,我注意到一些没有意义的事情。感谢您提供以下代码: for(x ; i < n ; i++){ printf("Element is: %s" , na

我有一个问题要打印出来。我不确定哪里出了问题,因为编译器没有给我任何错误。然而
我在运行程序时遇到中断错误。任何帮助都将不胜感激。谢谢。

我认为您的扫描功能是错误的。如果您使用的是C语言,那么它应该是scanf

同样,在C语言中打印数组是很困难的。您必须循环遍历数组中的每个元素并打印它

因此:


我要感谢所有试图帮助我的人。在离开一段时间后,我注意到一些没有意义的事情。感谢您提供以下代码:

for(x ; i < n ; i++){
  printf("Element is: %s" , name[i])
}
这使得使用scanf成为可能,因为MSVC需要scanf_。这是工作代码

    #define _CRT_SECURE_NO_WARNINGS

我最初将main作为一个整数变量,而不是char。我不知道MSVC为什么不跟我争论,但它完全忽略了两者的区别。

阅读scanf_s的手册会有帮助。。。请务必阅读您使用的函数的文档!并启用所有建议的警告!一个半途而废的现代编译器应该发出警告。我使用scanf_s是因为VisualStudio不允许我以scanf的身份运行程序。有没有办法解决这个问题?是的:正确使用它!其余内容:见我的第一条评论。有办法解决这个问题吗?有关scanf_的文档给出了正确使用的示例。好的,让我表示一些遗憾:scanf_s希望缓冲区的大小作为第三个参数,所以scanf_s%23s,name,unsigned_countofname应该这样做。如手册页所述,btw.scanf_s是可选边界检查接口的一部分。然而,这是标准的一部分。OP显然没有数组,分别是。指向数组的指针数组。是否迭代字符数组以打印字符串?如果有的话,占位符将是%c,而不是%s。scanf_s是microsoft添加的用于检查缓冲区边界的组件。是的,由于某种原因,您需要%c fsor字符数组。我刚才使用%s作为字符串数组。@JustinBesteman,Florian Heer,Olaf谢谢。我正在为我的班级阅读的书在C中使用了%s。我将把它改为%C。
    #define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

char question(void);
char name[24];

char main(void)
{
    question();
    system("pause");
}

char question(void)
{
    printf("Type the name of a cartoon character >>> ");
    scanf("%s", name);

    printf("\n\"%23s\"\n\n\n", name);

    return 0;
}