首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于while话语的用法

2013-04-21 
关于while语句的用法实现了一个strcpy函数,其中用到while语句,代码如下:引用#include stdio.hchar *strc

关于while语句的用法
实现了一个strcpy函数,其中用到while语句,代码如下:

引用
#include "stdio.h"

char *strcpyOther(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;

if ( strDest == strSrc)
return strDest ;

char *tempptr = strDest ;

while( (*strDest++ = *strSrc++) != '\0') ;

return tempptr ;
}

int main()
{
    char strDst[10] = {0};
    char* strSrc = "0123456789";
    
    strcpyOther(strDst, strSrc);
    
    printf("strDst is %s\n", strDst);
}

,发现一个问题,要是
while( (*strDest++ = *strSrc++) != '\0') ;
后面没有逗号的话,循环体执行一次就自动退出了,加上逗号才能如你所愿,那就是说,循环体不能为空么,为空的话,while后面括号的内容就执行一次就出来了?

多谢! strcpy
[解决办法]
;就代表空循环体
没有;的话 return就成了循环体,当然循环一次就推出了。


[解决办法]
引用:
实现了一个strcpy函数,其中用到while语句,代码如下:
引用
#include "stdio.h"

char *strcpyOther(char *strDest, const char *strSrc)
{
if ( strDest == NULL 
[解决办法]
 strSrc == NULL)
return NULL ;

if ( strDest == strSrc)
r……
看看基础语法吧,循环体可以为空,不加分号的话直接接一对大括号也可以(这就表示循环体为空),总之不加分号的话后边那个return就成了循环体中的执行语句了,执行了一次return函数都直接结束了还别说什么循环了

热点排行