下面注释这句的作用是啥呢???

hongxia1981 2009-08-28 11:15:50
/*write the function strcpy,don't call C/C++ string library*/
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <string>
#include <assert.h>
using namespace std;

char *Strcpy(char *strDest, const char *strSrc)
{
assert(strDest != NULL && strSrc != NULL);///////////这句的作用
char *resultStr = strDest;
while (*strSrc != '\0')
{
*strDest++ = *strSrc++;
}
*strDest = '\0';
return resultStr;

}

int main()
{
char *str = "0123456789";
char strd[100];
char *ss = Strcpy(strd,str);
cout<<ss<<endl;

return 0;
}


...全文
176 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
niimp2 2009-08-28
  • 打赏
  • 举报
回复
學習了,assert是斷言,樓主的註釋,是一個判斷條件
rejoice914 2009-08-28
  • 打赏
  • 举报
回复
同意LS
xingzhe2001 2009-08-28
  • 打赏
  • 举报
回复
assert叫做断言,是个宏,一般是assert(a), 如果a为false,就会调用int 3中断,弹出个对话框assert fail,根crash似的,你写个assert(0)可以看下那个对话框。

assert一般在debug下才有用,在release下assert定义为空。
所以你可以用它在debug下处错,assert()中的表达式一般为不可能在程序运行中为false。

新手可能会滥用assert, 把assert当成错误和边界处理语句,你心里要时刻记得,在release下assert没有任何作用。除非你自己定义assert
kakashi0309 2009-08-28
  • 打赏
  • 举报
回复
assert 是断言 strDest != NULL && strSrc != NULL 这个条件为假则会报错
liao05050075 2009-08-28
  • 打赏
  • 举报
回复
Assert - 断言
http://baike.baidu.com/view/653925.htm
Victor_Dinho 2009-08-28
  • 打赏
  • 举报
回复
就是断言,就是说strDest != NULL && strSrc != NULL一定要满足,否则就退出程序~~
Victor_Dinho 2009-08-28
  • 打赏
  • 举报
回复
这句断言是用来判断strDest和strSrc是不是空指针。
hongxia1981 2009-08-28
  • 打赏
  • 举报
回复
我的意思是这句断言是用来判断啥的呢????
long2015 2009-08-28
  • 打赏
  • 举报
回复
mark

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧