题目内容

以下程序运行后的输出结果是( )#includeint main(){int i,array[10]={1,2,3,4,5,6,7,8,9,10},sum=0;int *p=array+1;for(i=0;i<4;i++)sum+=*(p+i*2);printf("sum=%d\n",sum);return 0;}

查看答案
更多问题

以下程序运行后的输出结果是#include int main(){int a[]={1,2,3,4,5,6,7,8,9},i;int *ptr=a+2;for(i=0;i<5;i++)if(i%2==0)printf("%d ",ptr[i]);return 0;}

以下程序的输出结果为#include void fun(char *c,int d){*c=*c+1; d=d+1;printf("%c,%c,",*c,d);}int main(){char b='a', a='A';fun(&b,a);printf("%c,%c\n",b,a);return 0;}

下列说法正确的是

A. 执行函数调用时,系统自动在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存,这些无需程序员来管理。
B. 函数free()的参数是指向被释放的动态内存的指针变量。
C. 对于用动态内存分配函数申请的内存,其生存期由程序员自己来决定。
D. 函数free的函数原型是void* free(void* p);表示函数没有返回值。
E. 用free释放指针变量所指向的内存以后,就意味着该指针变量变成了空指针。
F. 执行函数调用时,系统在堆上为函数内的局部变量及形参分配内存,函数执行结束时,需要程序员用free()函数释放这些内存。

假设用下面语句申请了一块动态内存,并用指针变量指p向了它,用这块内存保存m*n个整型元素,即作为一个二维动态数组来使用,那么下面哪种通过p访问这个二维动态数组第i行第j列元素的方法是正确的( )p = (int *) malloc(m*n*sizeof(int));

A. *(p+i*n+j)
B. p[j*n+i]
C. p[i*n+j]
D. p[i][j]
E. *p[i*n+j]
F. p+i*n+j

答案查题题库