题目
1: #include <stdio.h>2: int main()3:(4: int a=2; 5: int b=6.56: for(i=0;i<b;i++)7: int c = a+sqrt(b);8: return 0;9:)上述程序在VC2010下的编译结果如下:>------ Build started: Project: rrrr, Configuration: Debug Win32 ------> main.cpp> main.cpp(6): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data> main.cpp(6): error C2143: syntax error : missing ';' before 'for'> main.cpp(6): error C2065: 'i' : undeclared identifier> main.cpp(6): error C2065: 'i' : undeclared identifier> main.cpp(6): error C2065: 'i' : undeclared identifier> main.cpp(7): error C3861: 'sqrt': identifier not found> main.cpp(8): error C2146: syntax error : missing ';' before identifier '; '> main.cpp(8): error C2065: '; ' : undeclared identifier> main.cpp(8): error C2143: syntax error : missing ';' before '}'========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========引起编译错误的原因是:A.A 第五行缺少封号B.B 第六行缺少封号C.C 第七行有非法字符D.D 第七行sqrt缺少头文件E.E 第五行变量赋值类型不匹配
1: #include <stdio.h>2: int main()3:{4: int a=2; 5: int b=6.56: for(i=0;i<b;i++)7: int c = a+sqrt(b);8: return 0;9:}上述程序在VC2010下的编译结果如下:>------ Build started: Project: rrrr, Configuration: Debug Win32 ------> main.cpp> main.cpp(6): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data> main.cpp(6): error C2143: syntax error : missing ';' before 'for'> main.cpp(6): error C2065: 'i' : undeclared identifier> main.cpp(6): error C2065: 'i' : undeclared identifier> main.cpp(6): error C2065: 'i' : undeclared identifier> main.cpp(7): error C3861: 'sqrt': identifier not found> main.cpp(8): error C2146: syntax error : missing ';' before identifier '; '> main.cpp(8): error C2065: '; ' : undeclared identifier> main.cpp(8): error C2143: syntax error : missing ';' before '}'========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========引起编译错误的原因是:
- A.A 第五行缺少封号
- B.B 第六行缺少封号
- C.C 第七行有非法字符
- D.D 第七行sqrt缺少头文件
- E.E 第五行变量赋值类型不匹配
题目解答
答案
A,C,D
解析
步骤 1:分析编译错误
从编译结果中,我们可以看到多个错误和警告。首先,我们注意到第5行的变量赋值类型不匹配,因为`b`被赋值为6.5,但`b`被声明为`int`类型,这会导致数据丢失。其次,第6行缺少分号,导致语法错误。此外,`i`在使用前未声明,导致未声明标识符的错误。最后,`sqrt`函数未被声明,因为缺少头文件``,并且第7行的分号是非法字符。
步骤 2:确定错误原因
根据上述分析,我们可以确定错误原因如下:
- 第五行变量赋值类型不匹配。
- 第六行缺少分号。
- 第七行有非法字符。
- 第七行`sqrt`缺少头文件。
从编译结果中,我们可以看到多个错误和警告。首先,我们注意到第5行的变量赋值类型不匹配,因为`b`被赋值为6.5,但`b`被声明为`int`类型,这会导致数据丢失。其次,第6行缺少分号,导致语法错误。此外,`i`在使用前未声明,导致未声明标识符的错误。最后,`sqrt`函数未被声明,因为缺少头文件`
步骤 2:确定错误原因
根据上述分析,我们可以确定错误原因如下:
- 第五行变量赋值类型不匹配。
- 第六行缺少分号。
- 第七行有非法字符。
- 第七行`sqrt`缺少头文件。