void MakeShortName(unsigned char *str) { unsigned char i = 0; unsigned char ext[3]; memcpy(ext, &str[8], 3); for (; i < 8; i++) { if (str[i] == ' ') { break; //这里的break当满足条件后是跳出if语句还是跳出for循环?? } //麻烦哪位大虾给出详解 } str[i++] = '.'; memcpy(&str[i], ext, 3); i += 3; for (; i < 20; i++) { str[i] = ' '; } str[i] = 0; }
break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch 中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句, 通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 注意: 1) break语句对if-else的条件语句不起作用。 2) 在多层循环中, 一个break语句只向外跳一层。 对于你的问题,就是跳出for循环,执行循环后面的语句,即str[i++] = '.';语句