C语言 error C2143: syntax error : missing ';' before 'type'

xiaoxiao2021-02-28  133

1.问题描述

问题展示如图所示:所有IDE为VS2010。 源代码展示:源代码是一个将华氏温度转换为摄氏温度的程序。 #include <stdio.h> //void Fahr_Celsius() int main() { //int fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; printf("Hello world!\n"); int fahr, celsius; fahr = lower; while (fahr<=upper) { celsius = 5 * (fahr - 32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + step; } return 0; } 2.问题原因 在C语言中,所有变量都必须先声明后使用。声明通常放在起始处,在任何可执行语句之前。声明用于说明变量的属性,它由一个类型名和一个变量表组成。 在这里是因为第12行的变量声明语句放在了可执行语句之后。

3.问题解决

将所有变量声明放在所有可执行语句之前。修改后代码如下: #include <stdio.h> int main() { int fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; printf("Hello world!\n"); //int fahr, celsius; fahr = lower; while (fahr<=upper) { celsius = 5 * (fahr - 32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + step; } return 0; }

4.问题总结

这个问题虽然是C语言的规定,但是这个问题主要出现在编译阶段,由编译器解释,在VS2017是不会出现这个问题,但是在VS2010会出现这种问题。

转载请注明原文地址: https://www.6miu.com/read-33633.html

最新回复(0)