unreachablecode怎么解决keil(java中unreachable code)

汇编语言出现redefinition of symbol 怎么解决?

Ambiguous operators need parentheses -----------不明确的运算需要用括号括起

Ambiguous symbol ''xxx'' ----------------不明确的符号

Argument list syntax error ----------------参数表语法错误

Array bounds missing ------------------丢失数组界限符

Array size toolarge -----------------数组尺寸太大

Bad character in paramenters ------------------参数中有不适当的字符

Bad file name format in include directive --------------------包含命令中文件名格式不正确

Bad ifdef directive synatax ------------------------------编译预处理ifdef有语法错

Bad undef directive syntax ---------------------------编译预处理undef有语法错

Bit field too large ----------------位字段太长

Call of non-function -----------------调用未定义的函数

Call to function with no prototype ---------------调用函数时没有函数的说明

Cannot modify a const object ---------------不允许修改常量对象

Case outside of switch ----------------漏掉了case 语句

Case syntax error ------------------ Case 语法错误

Code has no effect -----------------代码不可述不可能执行到

Compound statement missing{ --------------------分程序漏掉"{"

Conflicting type modifiers ------------------不明确的类型说明符

Constant expression required ----------------要求常量表达式

Constant out of range in comparison -----------------在比较中常量超出范围

Conversion may lose significant digits -----------------转换时会丢失意义的数字

Conversion of near pointer not allowed -----------------不允许转换近指针

Could not find file ''xxx'' -----------------------找不到XXX文件

Declaration missing ; ----------------说明缺少";"

Declaration syntax error -----------------说明中出现语法错误

Default outside of switch ------------------ Default 出现在switch语句之外

Define directive needs an identifier ------------------定义编译预处理需要标识符

Division by zero ------------------用零作除数

Do statement must have while ------------------ Do-while语句中缺少while部分

Enum syntax error ---------------------枚举类型语法错误

Enumeration constant syntax error -----------------枚举常数语法错误

Error directive :xxx ------------------------错误的编译预处理命令

Error writing output file ---------------------写输出文件错误

Expression syntax error -----------------------表达式语法错误

Extra parameter in call ------------------------调用时出现多余错误

File name too long ----------------文件名太长

Function call missing -----------------函数调用缺少右括号

Fuction definition out of place ------------------函数定义位置错误

Fuction should return a value ------------------函数必需返回一个值

Goto statement missing label ------------------ Goto语句没有标号

Hexadecimal or octal constant too large ------------------16进制或8进制常数太大

Illegal character ''x'' ------------------非法字符x

Illegal initialization ------------------非法的初始化

Illegal octal digit ------------------非法的8进制数字

Illegal pointer subtraction ------------------非法的指针相减

Illegal structure operation ------------------非法的结构体操作

Illegal use of floating point -----------------非法的浮点运算

Illegal use of pointer --------------------指针使用非法

Improper use of a typedefsymbol ----------------类型定义符号使用不恰当

In-line assembly not allowed -----------------不允许使用行间汇编

Incompatible storage class -----------------存储类别不相容

Incompatible type conversion --------------------不相容的类型转换

Incorrect number format -----------------------错误的数据格式

Incorrect use of default --------------------- Default使用不当

Invalid indirection ---------------------无效的间接运算

Invalid pointer addition ------------------指针相加无效

Irreducible expression tree -----------------------无法执行的表达式运算

Lvalue required ---------------------------需要逻辑值0或非0值

Macro argument syntax error -------------------宏参数语法错误

Macro expansion too long ----------------------宏的扩展以后太长

Mismatched number of parameters in definition ---------------------定义中参数个数不匹配

Misplaced break ---------------------此处不应出现break语句

Misplaced continue ------------------------此处不应出现continue语句

Misplaced decimal point --------------------此处不应出现小数点

Misplaced elif directive --------------------不应编译预处理elif

Misplaced else ----------------------此处不应出现else

Misplaced else directive ------------------此处不应出现编译预处理else

Misplaced endif directive -------------------此处不应出现编译预处理endif

Must be addressable ----------------------必须是可以编址的

Must take address of memory location ------------------必须存储定位的地址

No declaration for function ''xxx'' -------------------没有函数xxx的说明

No stack ---------------缺少堆栈

No type information ------------------没有类型信息

Non-portable pointer assignment --------------------不可移动的指针(地址常数)赋值

Non-portable pointer comparison --------------------不可移动的指针(地址常数)比较

Non-portable pointer conversion ----------------------不可移动的指针(地址常数)转换

Not a valid expression format type ---------------------不合法的表达式格式

Not an allowed type ---------------------不允许使用的类型

Numeric constant too large -------------------数值常太大

Out of memory -------------------内存不够用

Parameter ''xxx'' is never used ------------------能数xxx没有用到

Pointer required on left side of - -----------------------符号-的左边必须是指针

Possible use of ''xxx'' before definition -------------------在定义之前就使用了xxx(警告)

Possibly incorrect assignment ----------------赋值可能不正确

Redeclaration of ''xxx'' -------------------重复定义了xxx

Redefinition of ''xxx'' is not identical ------------------- xxx的两次定义不一致

Register allocation failure ------------------寄存器定址失败

Repeat count needs an lvalue ------------------重复计数需要逻辑值

Size of structure or array not known ------------------结构体或数给大小不确定

Statement missing ; ------------------语句后缺少";"

Structure or union syntax error --------------结构体或联合体语法错误

Structure size too large ----------------结构体尺寸太大

Sub scripting missing ] ----------------下标缺少右方括号

Superfluous with function or array ------------------函数或数组中有多余的""

Suspicious pointer conversion ---------------------可疑的指针转换

Symbol limit exceeded ---------------符号超限

Too few parameters in call -----------------函数调用时的实参少于函数的参数不

Too many default cases ------------------- Default太多(switch语句中一个)

Too many error or warning messages --------------------错误或警告信息太多

Too many type in declaration -----------------说明中类型太多

Too much auto memory in function -----------------函数用到的局部存储太多

Too much global data defined in file ------------------文件中全局数据太多

Two consecutive dots -----------------两个连续的句点

Type mismatch in parameter xxx ----------------参数xxx类型不匹配

Type mismatch in redeclaration of ''xxx'' ---------------- xxx重定义的类型不匹配

Unable to create output file ''xxx'' ----------------无法建立输出文件xxx

Unable to open include file ''xxx'' ---------------无法打开被包含的文件xxx

Unable to open input file ''xxx'' ----------------无法打开输入文件xxx

Undefined label ''xxx'' -------------------没有定义的标号xxx

Undefined structure ''xxx'' -----------------没有定义的结构xxx

Undefined symbol ''xxx'' -----------------没有定义的符号xxx

Unexpected end of file in comment started on line xxx ----------从xxx行开始的注解尚未结束文件不能结束

Unexpected end of file in conditional started on line xxx ----从xxx 开始的条件语句尚未结束文件不能结束

Unknown assemble instruction ----------------未知的汇编结构

Unknown option ---------------未知的操作

Unknown preprocessor directive: ''xxx'' -----------------不认识的预处理命令xxx

Unreachable code ------------------无路可达的代码

Unterminated string or character constant -----------------字符串缺少引号

User break ----------------用户强行中断了程序

Void functions may not return a value ----------------- Void类型的函数不应有返回值

Wrong number of arguments -----------------调用函数的参数数目错

''xxx'' not an argument ----------------- xxx不是参数

''xxx'' not part of structure -------------------- xxx不是结构体的一部分

xxx statement missing ( -------------------- xxx语句缺少左括号

xxx statement missing ) ------------------ xxx语句缺少右括号

xxx statement missing ; -------------------- xxx缺少分号

xxx'' declared but never used -------------------说明了xxx但没有使用

xxx'' is assigned a value which is never used ----------------------给xxx赋了值但未用过

Zero length structure ------------------结构体的长度为零

为什么会提示"Unreachable code"?还是If 用法有误?谢谢

//第一个for循环的循环体只有如下一段,所以if(c==27)break;并不在for循环内,因此死循环无法跳出,其后面的代码都无法执行到

for(;;)

{for(c='0';c!=13c!=27;c=getch())

printf("%c\n",c);}

应改成这样:

main()

{int i=0;

char c;

for(;;)

{for(c='\0';c!=13c!=27;c=getch())

printf("%c\n",c);

if(c==27)

break;

i++;

printf("No.%d",i);}

printf("end");

}

修改后的程序:

用for(;;)替换while(1)

用for(; c!=13c!=27; )替换while(c!=13c!=27),也可以把c='\0'写到for语句里面第一个分号前

main()

{

int i=0;

char c;

for(;;) /*设置循环*/

{

for(c= '\0'; c!=13c!=27; ) /*键盘接收字符直到按回车或Esc键*/

{

c=getch();

printf("%c\n", c);

}

if(c==27)

break; /*判断若按Esc键则退出循环*/

i++;

printf("The No. is %d\n", i);

}

printf("The end");

}

代码提示错误,unreachable code,请问是哪行出了错,怎么改??谢谢了

是你的while循环的问题 编译器认为你的while是死循环 下面的代码是执行不到的 所以提示错误 你看看while的跳出条件是否成立

单片机C编程 keil中提示 unreachable code

while(1)无结束条件,warning是提醒你后面的代码无法执行到。

可以。

unreachable code怎么解决

public void A(){

switch(k){

case 0:

语句一;

break;

case 1:

语句二;

break;

default: return;

}

这样改。

case 语句块,如果不加最后 的 break;语句的话,执行完 case 语句块后会继续执行紧接着的下一个case 语句块。

所以按你的写法:

如果 case 0 成功,就会先执行 语句一,然后执行 语句二,然后执行 default 里面的return。

如果 case 1 成功,就会先执行 语句二,然后执行 default 里面的return。

如果两个 case 都不成功,就直接执行 default 里面的return。

这种情况下你 switch 块后面的

if(语句三){语句四;}

}

就永远不会执行了,

这才有了 eclipse 的提示,学编程要好好学习 语言的语法、关键字方面的基本功哦~

361知讯网

本文链接:http://pdidw.com/keil/29045.html

发表评论

评论列表

还没有评论,快来说点什么吧~