C编译器警告"Warning: too many arguments for format"如何修复?



我刚刚开始C编程,正在使用Eclipse Mars环境和MinGW编译器。我在编写一个将两个整数相加并输出总和的程序时遇到了问题。

我收到以下语句的"警告:格式参数过多"对话框:

printf("Sum of %d ", integer1," and %d", integer2," is: %dn", sum);

谁能解释为什么这是不正确的,以及我该如何纠正它?

(完整程序如下(:

#include <stdio.h>
#include <stdlib.h> 
int main(){
int integer1; 
int integer2;
printf("Enter first integer n"); 
scanf("%dn", &integer1);
printf("Enter second integer n"); 
scanf("%d", &integer2); 
int sum; 
sum = integer1 + integer2;
printf("Sum of %d ", integer1," and %da", integer2," is: %dn", sum);
system("pause");
return 0;
}

谁能解释如何重写不正确的陈述?

printf()获取一个可能包含格式说明符的字符串,然后获取参数列表:

printf("Sum of %d and %da is: %dn", integer1, integer2, sum);

函数printf具有以下声明

int printf(const char * restrict format, ...);

因此你应该写

printf("Sum of %d and %da is: %dn", integer1, integer2, sum);

相关内容

  • 没有找到相关文章

最新更新