2 回答
TA贡献1829条经验 获得超7个赞
你的这个函数有问题, 而不是while怎么判断的问题
void strcat(char *a,char *b)
{
while(*a != '\0')
a++;
while(*b != '\0')
*a++=*b++;
*a = '\0'; //后面应该加上'\0',不然你的字符串怎么结束, 这里加了怎么while都没有问题
}
TA贡献1780条经验 获得超4个赞
while可以用作无穷循环,很多地方都用到无穷循环。一个无穷循环如下所示:
while(true)
{
循环内容;
...
}
无穷循环可以由自己循环中的某个条件式来结束。下面是一个循环内部终止的例子:
while(true) { 语句; if(条件式) break; // 跳离循环 ... }
当条件式成立时,会执行break离开while循环,这个break与switch中的作用是一样的,都是要离开当时执行的程序块时使用。
class
TestWhile
{
public static void
main(String[] args)
{
while(true)
{
System.out.println( "执行
");
//值为真用break跳出执行while之后的语句
if(true)
{
break;
}
System.out.println( "继续执行 ");
}
}
}
//无穷循环固定格式为while(true),其中括号里的值固定为boolean型,并且要为真时,才会执行下面的语句.
class
TestWhile
{
public static
void main(String[] args)
{
boolean flag =
false;
while(flag)
//这时括号里的值为假,所以下面的语句都不会执行.如果改成while(!flag)就可以执行了.
{
System.out.println( "while为真时执行 ");
//值为真用break跳出执行while之后的语句
if(true)
{
break;
}
System.out.println( "继续执行
");
}
}
}
- 2 回答
- 0 关注
- 80 浏览
添加回答
举报