这是我的计划,我收到的语法错误是我不明白的。 这是我的主要接受我的功能数据:
int main() //main program
{
float num1, num2, total;
printf("Enter first number: ");
scanf("%f", &num1);
printf("Enter Second number: ");
scanf("%f", & num2);
total = multiNumbers(num1, num2);
printf("sum is %2.f", total);
return 0;
}
int multiNumbers(int num1, int num2) {
int sum;
sum = num1 * num2;
return sum;
}
以下是编译错误:
In function 'int main()':
[Error] 'printf' was not declared in this scope
[Error] 'scanf' was not declared in this scope
[Error] 'multiNumbers' was not declared in this scope
答案 0 :(得分:3)
[错误]'printf'未在此范围内声明
[错误]'scanf'未在此范围内声明
在代码中添加stdio库
int multiNumbers(int num1, int num2);
[错误]'multiNumbers'未在此范围内声明
在主要功能
之前添加声明#include <stdio.h>
int multiNumbers(int num1, int num2);
int main() //main program
{
float num1, num2, total;
printf("Enter first number: ");
scanf("%f", &num1);
printf("Enter Second number: ");
scanf("%f", & num2);
total = multiNumbers(num1, num2);
printf("sum is %2.f", total);
return 0;
}
int multiNumbers(int num1, int num2) {
int sum;
sum = num1 * num2;
return sum;
}
代码段:
{{1}}
答案 1 :(得分:2)
[错误]&#39; printf&#39;未在此范围内声明 [错误]&#39; scanf&#39;未在此范围内声明
printf
和scanf
在stdio.h
中声明,因此您需要先包含此文件:
#include <stdio.h>
[错误]&#39; multiNumbers&#39;未在此范围内声明
如果在主函数上方未声明或定义此函数,则必须至少添加如上所示的声明:
int multiNumbers(int num1, int num2);
(只是这一行)
答案 2 :(得分:1)
在调用之前,您必须至少声明该函数。函数定义也可以作为声明,因此最简单的方法是在multiNumbers
之前移动main
的正文。
修改强>
int multiNumbers(int num1, int num2) {
int sum;
sum = num1 * num2;
return sum;
}
int main() //main program
{
float num1, num2, total;
printf("Enter first number: ");
scanf("%f", &num1);
printf("Enter Second number: ");
scanf("%f", & num2);
total = multiNumbers(num1, num2);
printf("sum is %2.f", total);
return 0;
}
编译器将抱怨的一个问题 - 您的类型不匹配。您已声明multiNumbers
获取int
个参数并返回int
值,但您传递了float
个值并将结果分配给float
。
那不行。
如果您希望multiNumbers
使用float
值,则需要将num1
,num2
和sum
的类型更改为{{ 1}}(虽然老实说,我建议使用float
代替double
)。
答案 3 :(得分:1)
你必须先
#include <stdio.h>
并且你还必须在main()之前放置函数原型。
#include <stdio.h> // You forgot this
int multiNumbers(int num1, int num2); // This is the function's prototype
int main() //main program
{
float num1, num2, total;
printf("Enter first number: ");
scanf("%f", &num1);
printf("Enter Second number: ");
scanf("%f", &num2);
total = multiNumbers(num1, num2);
printf("sum is %2.f", total);
return 0;
}
int multiNumbers(int num1, int num2) {
int sum;
sum = num1 * num2;
return sum;
}