16,472
社区成员
发帖
与我相关
我的任务
分享
A:请问运行Test 函数会有什么样的结果?
.....
-------------------------------------
/*
答:程序崩溃。
因为GetMemory 并不能传递动态内存,
Test 函数中的 str 一直都是 NULL。
strcpy(str, "hello world");将使程序崩
溃。*/
--------------------------------------------------
//B:已知strcpy 函数的原型是
char *strcpy(char *strDest, const char *strSrc);
.......
//答:
char *strcpy(char *strDest, const char *strSrc);
{
assert((strDest!=NULL) && (strSrc !=NULL));
char *address = strDest;
while( (*strDest++ = * strSrc++) != ‘\0’ )
NULL ;
return address ;
}
--------------------------------------------------
//C:交换两个int数,不用第三块儿内存:
//答:
//方法1:
void swapvalue2(int &a,int &b)
{
//这种方法不好之处是有可能会导致加法或者减法运算结果溢出
a=a+b;
b=a-b;
a=a-b;
}
//方法2:
//用位操作实现:
void swapvalue(int &a,int &b)
{
a=a^b;
b=a^b;
a=a^b;
}