关于while和if的问题
时间:2011-12-18
来源:互联网
char *strncpy(char *dest,const char *src,size_t n)
{
char *pdest = dest;
while(n--){
while(*pdest++ = *src++)
{
;
}
}
return dest;
}
请问为什么编译不通过,而第二个while改成if就可以,求大神给个详细解释,菜鸟请教
作者: zhao0210 发布时间: 2011-12-18
程序语法上没问题的
作者: keiy 发布时间: 2011-12-18
编译通不过?你用的什么编译器?
程序语法上没问题的
说错了,编译可以通过,但得不到我要的结果,拷贝字符串
作者: zhao0210 发布时间: 2011-12-18
作者: logicouter 发布时间: 2011-12-18
引用 1 楼 keiy 的回复:
编译通不过?你用的什么编译器?
程序语法上没问题的
说错了,编译可以通过,但得不到我要的结果,拷贝字符串
你这里循环了两层啊。。。。去掉里面的while
作者: mingliang1212 发布时间: 2011-12-18
{
char *pdest = dest;
while(n--){
while(*pdest++ = *src++) //执行n次, src拷贝n回,pdest情何以堪
{
;
}
}
return dest;
}
编译通过不通过没有测试,但是你写的这个拷贝涵数,逻辑是错误的. 即使编译通过,也会造成错误.
作者: CN7712 发布时间: 2011-12-18
char *strncpy(char *dest,const char *src,size_t n) { char *pdest = dest; while(n--){//没必要两层循环 *pdest++ = *src++; } *pdest='\0';//字符串要以'\0'结尾 return dest; }
作者: shenxinji 发布时间: 2011-12-18
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28