打印数组中断错误

时间:2016-09-26 23:18:35

标签: c arrays printing

#include <stdio.h>
#include <string.h>

char name[24];

int main(void)
{
    printf("Type the name of a cartoon character.");
    printf(">>> ");
    scanf_s("%s", name);

    printf("\n\nCharacter name: %s", name);
    return 0;
}

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

2 个答案:

答案 0 :(得分:0)

我要感谢那些试图帮助我的人。我走开了一段时间后发现了一些没有意义的东西。感谢您提供以下代码:

    #define _CRT_SECURE_NO_WARNINGS

这使得可以使用scanf,因为MSVC想要scanf_s。这是工作代码。

#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;
}

我最初将main作为int variadic而不是char。不知道为什么MSVC没有向我提出争论,但它完全忽略了两者之间的差异。

答案 1 :(得分:-1)

我相信你的扫描功能是错误的。如果您在C中工作,则应为scanf()

同样在C中打印数组很困难。你必须遍历数组中的每个元素并打印它。

所以:

for(x ; i < n ; i++){
  printf("Element is: %s" , name[i])
}