×
嵌入式 > 嵌入式开发 > 详情

C语言试题大全四

发布时间:2020-08-31 发布时间:
|
1.分析输出结果
int arr[] = {6,7,8,9,10};
int *ptr = arr;
*(ptr++)+=123;
printf(“ %d %d ”, *ptr, *(++ptr));

输出:8 8
过程:对于*(ptr++)+=123;先做加法6+123,然后++,指针指向7;对于printf(“ %d %d ”, *ptr, *(++ptr));从后往前执行,指针先++,指向8,然后输出8,紧接着再输出8
2 分析输出结果
void g(int**);
int main()
{
int line[10],i;
int *p=line;
for (i=0;i<10;i++)
{
*p=i;
g(&p); //数组对应的值加1
}
for(i=0;i<10;i++)
printf("%d",line[i]);
return 0;
}
void g(int**p)
{
(**p)++;
(*p)++;//
}
输出:
1
2
3
4
5
6
7
8
9
10
3 用递归算法判断数组a[N]是否为一个递增数组。
答案:
递归的方法,记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束:
bool fun( int a[], int n )
{
if( n= =1 )
return true;
if( n= =2 )
return a[n-1] >= a[n-2];
return fun( a,n-1) && ( a[n-1] >= a[n-2] );
}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
五大标准轻松搞定4K超高清电视选购