首页 > 仓储管理人员
题目内容 (请给出正确答案)
[主观题]

分析下面的程序: void GetMemory(char **p,int num) { *p=(char *)malloc(num); } int main()

分析下面的程序:

void GetMemory(char **p,int num)

{

*p=(char *)malloc(num);

}

int main()

{

char *str=NULL;

GetMemory(&str,100);

strcpy(str,"hello");

free(str);

if(str!=NULL)

{

strcpy(str,"world");

}

printf("\n str is %s",str);

getchar();

}

问输出结果是什么?希望大家能说说原因,先谢谢了

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“分析下面的程序: void GetMemory(char *…”相关的问题
第1题
有以下程序:#include<stdio.h>void fun(char *a,char*B){while(*a=='*')a++;while(*b=*A){b++;a+

有以下程序: #include<stdio.h> void fun(char *a,char*B){while(*a=='*')a++; while(*b=*A){b++;a++;} } main() {char*s="****a*b****",t[80]; fun(s,t);puts(t); } 程序的运行结果是()。

A.*****a*b

B.a*b

C.a*b****

D.ab

点击查看答案
第2题
阅读下面程序class Test implements Runnable{public static void main(String[] args){Tes

阅读下面程序

class Test implements Runnable{

public static void main(String[] args){

Test t = new Test();

t.start();

}

public void run(){ }

}

下列关于上述程序的叙述正确的是

A) 程序不能通过编译,因为 start() 方法在 Test 类中没有定义

B) 程序编译通过,但运行时出错,提示 start() 方法没有定义

C) 程序不能通过编译,因为 run() 方法没有定义方法体

D) 程序编译通过,且运行正常

点击查看答案
第3题
38) 有以下程序:#include <stdio.h>void fun(char *t,char *s){ while(*t!=0) t++;while((

38) 有以下程序:

#include <stdio.h>

void fun(char *t,char *s)

{ while(*t!=0) t++;

while((*t++=*s++)!=0);

}

main()

{ char ss[10]= " acc " ,aa[10]= " bbxxyy " ;

fun(ss,aa);

printf(" %s,%s\n " ,ss,aa);

}

程序运行结果是

A)accxyy,bbxxyy

B)acc, bbxxyy

C)accxxyy,bbxxyy

D) accbbxxyy,bbxxyy

点击查看答案
第4题
写出程序运行结果int sum(int a){auto int c=0;static int b=3;c+=1;b+=2;return(a+b+C);}vo

写出程序运行结果

int sum(int a)

{

auto int c=0;

static int b=3;

c+=1;

b+=2;

return(a+b+C);

}

void main()

{

38

int I;

int a=2;

for(I=0;I<5;I++)

{

printf("%d,", sum(a));

}

}

点击查看答案
第5题
写出程序的输出结果: public class A { public virtual void Fun1(int i) { Console.Write

写出程序的输出结果:

public class A

{

public virtual void Fun1(int i)

{

Console.WriteLine(i);

}

public void Fun2(A a)

{

a.Fun1(1);

Fun1(5);

}

}

public class B : A

{

public override void Fun1(int i)

{

base.Fun1 (i + 1);

}

public static void Main()

{

B b = new B();

A a = new A();

a.Fun2(b);

b.Fun2(a);

}

}

点击查看答案
第6题
下面的程序段的时间复杂度为【】s=0;for(i=0;i<n;i++)for(j=0;j<m;j++)s=s+a[i][i];

A.O(1)

B.O(m+n)

C.O(log2mn)

D.O(m*n)

点击查看答案
第7题
下列程序的输出结果是() #include usingnamespacestd; classA{ inta public: A()

下列程序的输出结果是 ()

#include

using namespace std;

class A{

int a

public:

A():a(9){}

virtual void print() const {cout<};

class B:public A{

char b;

public:

B(){b= ‘S’;}

void print()const{cout<};

void show(Aa&X){X,print()}

int main()

{ Ad1;*p;

Bd2;

p=&d2;

d1,print();

d2,print();

p->print();

show(d1);

show(d2);

return 0;}

点击查看答案
第8题
public class Something {public static void main(String[] args) {Other o = new Other();ne

public class Something {

public static void main(String[] args) {

Other o = new Other();

new Something().addOne(o);

}

public void addOne(final Other o) {

o.i++;

}

}

class Other {

public int i;

}

和上面的很相似,都是关于final 的问题,这有错吗?

点击查看答案
第9题
以下程序运行后的输出结果是void fun(int x,int y){ x=x+y;y=x-y;x=x-y; printf("%d,%d,",x,y);}

以下程序运行后的输出结果是void fun(int x,int y){ x=x+y;y=x-y;x=x-y; printf("%d,%d,",x,y);}main(){ int x=2,y=3; fun(x,y); printf("%d,%d\n",x,y);}

点击查看答案
第10题
有以下程序#include<stdio.h> void fun(int *s) { static int j=0; do { s[j]=s[j]+s[j+1]

有以下程序

#include<stdio.h>

void fun(int *s)

{ static int j=0;

do { s[j]=s[j]+s[j+1]; )while(j<2);

}

main()

{ int k,a[10]={1,2,3,4,5);

for(k=1;k<3;k++)fun(a);

for(k=0;k<5;k++)printf(”%d”,a[k]);

printf("\n");

}

程序运行后的输出结果是

A) 12345

B)23445

C)34756

D) 35745

点击查看答案
第11题
用指针作函数参数,编程序求一维数组中的最大和最小的元素值。#define N 10main(){ void maxmin(

用指针作函数参数,编程序求一维数组中的最大和最小的元素值。

#define N 10

main()

{ void maxmin(int arr[],int *pt1,int *pt2,int n);

int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

p1=&a; p2=&b;

maxmin(array,p1,p2,N);

printf("max=%d,min=%d",a,b);

}

void maxmin(int arr[],int *pt1,int *pt2,int n)

{ int i;

*pt1=*pt2=arr[0];

for(i=1;i<N;I++)

{ if(arr[i]>*pt1) (9) ;

if(arr[i]<*pt2) (10) ;

}

}

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改