获取错误“预期标识符或’(’在C之前的”’标记
任何帮助都会很棒!
#include #define pi 3.14159 int main() { float r; char PI; /*Program for circumference. */ printf(" This is a program that will calculate circumference.\n"); printf("Please put in your radius.\n"); scanf("%f", &r); printf("Please input PI\n"); PI = getchar(); } { if {(char != PI || 3.14); printf("Incorect value\n"); } else { printf("Thank you, the circumference is now.\n"); printf("%f", (r) * pi *2); } return 0; }
我正试图弄清楚这个错误,我肯定已经四处寻找,但没有真正突然出现我的具体问题。 如果它有帮助,它就在“if”语句开始之前。 我可能会使用太多'{‘?
我已经用注释指出了错误。习惯为#define
宏使用大写,而不是变量。最后,你的if
的条件应该是if(PI!=pi)
删除{
之间if
和(
,以及之后)
#include #define pi 3.14159 int main() { float r; char PI; /*Program for circumference. */ printf(" This is a program that will calculate circumference.\n"); printf("Please put in your radius.\n"); scanf("%f", &r); printf("Please input PI\n"); PI = getchar(); } //This is the source of error as `main()` ends after this `}' { if(PI!=pi) //You have used a `;` after if's condition & an extra '{' before it printf("Incorect value\n"); } else { printf("Thank you, the circumference is now.\n"); printf("%f", (r) * pi *2); } return 0; }
您正在以第一个}
字符终止主要function。 你有一个开放和闭合括号的不均匀匹配,这是导致问题。 你的if
语句也有问题。 这个
if {(char != PI || 3.14);
应该读作
if (char != PI || 3.14)
或者更具体地说,整个if-else应该是
if (char != PI || 3.14) { printf("Incorect value\n"); } else { printf("Thank you, the circumference is now.\n"); printf("%f", (r) * pi *2); }