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

printf: not enough arguments passed for format string

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

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");
} 

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

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

现在 scanf_s() 还需要一个参数作为缓冲区大小。用户最多只能输入该大小。

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

有关 scanf_s、click here and here

的更多信息

如果您将 scanf_s() 替换为 scanf(),它也会起作用。

希望对您有所帮助!