printf:没有为格式字符串传递足够的参数

时间:2016-10-17 00:04:01

标签: c visual-studio-2012 printf

系统一直告诉我,我没有足够的参数来格式化字符串,我也得到了一个

Error   LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)   line 1 error 

我不知道这意味着什么。请帮忙。

#include<stdio.h>
#include<stdlib.h>


 Main() {

    int score, sum = 0;
    printf("Enter a test score (-1 to quit):");
    scanf_s("%i", &score);

    while (score != -1) {
        sum = sum + score;
        printf("Enter a test score (-1 to quit):");
        scanf_s("%i", &score);
    }
    printf("\n(The sum of the scores is): %i\n");
        system("pause");
} 

1 个答案:

答案 0 :(得分:0)

首先,每个C程序的执行都以main()函数开始,错误在第1行。

因此,将Main()替换为main(),因为C区分大小写。

现在scanf_s()需要一个参数作为缓冲区大小。允许用户仅输入该大小的输入。

例如,scanf_s("%i",&score,2);

有关scanf_s,click herehere

的详细信息

如果您将scanf_s()替换为scanf(),它也会有效。

希望它会有所帮助!