关于c语言中的break用法
void MakeShortName(uint8 *str)
{
uint8 i = 0;
uint8 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++] = '.';语句
void MakeShortName(uint8 *str)
{
uint8 i = 0;
uint8 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++] = '.';语句