关于while和if的问题
我写了一个strncpy的函数
char *strncpy(char *dest,const char *src,size_t n)
{
char *pdest = dest;
while(n--){
while(*pdest++ = *src++)
{
;
}
}
return dest;
}
请问为什么编译不通过,而第二个while改成if就可以,求大神给个详细解释,菜鸟请教
[解决办法]
char *strncpy(char *dest,const char *src,size_t n){ char *pdest = dest; while(n--){//没必要两层循环 *pdest++ = *src++; } *pdest='\0';//字符串要以'\0'结尾 return dest;}