题目内容

请指出下列程序中的错误并且修改
void GetMemory(char *p){
p=(char *)malloc(100);
}
void Test(void){
char *str=NULL;
GetMemory=(str);
strcpy(str,"hello world");
printf(str);
}
A:错误--参数的值改变后,不会传回
GetMemory并不能传递动态内存,Test函数中的str
一直都是NULL。
strcpy(str, "hello world");将使程序崩溃。

查看答案
更多问题

一个数据库中有两个表:
一张表为Customer,含字段ID,Name;
一张表为Order,含字段ID,CustomerID(连向
Customer中ID的外键),Revenue;
写出求每个Customer的Revenue总和的SQL语句。

下面的代码有什么问题?
void DoSomeThing(...)
{
char* p;
...
p = malloc(1024); // 分配1K的空间
if (NULL == p)
return;
...
p = realloc(p, 2048); // 空间不够,重新分配到2K
if (NULL == p)
return;
...
}

写出程序结果:
void Func(char str[100])
{
printf("%d\n", sizeof(str));
}

试题5:编写一个函数,作用是把一个char组
成的字符串循环右移n 个。比如原来是"abcdefghi"
如果n=2,移位后应该是"hiabcdefgh"
函数头是这样的:
//pStr是指向以'\0'结尾的字符串的指针
//steps是要求移动的n
void LoopMove (char * pStr, int steps )
{
//请填充...
}

答案查题题库