我刚刚开始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);