c语言经典100题(c语言解答网站)
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("%dn",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] );
}
相关文章
- 5条评论
- 痴妓任谁2024-02-09 00:36:26
- 3,然后++,指针指向7;对于printf(“ %d %d ”, *ptr, *(++ptr));从后往前执行,指针先++,指向8,然后输出8,紧接着再输出8 2 分析输出结果 void g(int**); int main() { int line[10],i; in
- 余安劣戏2024-02-08 16:25:49
- (*p)++;// } 输出: 1 2 3 4 5 6 7 8 9 10 3 用递归算法判断数组a[N]是否为一个递增数组。
- 青迟寒洲2024-02-09 00:46:41
- a[n-2] ); }
- 性许暗喜2024-02-08 22:25:32
- 2 3 4 5 6 7 8 9 10 3 用递归算法判断数组a[N]是否为一个递增数组。 答案: 递归的方法,记录当前最大的,并且判断当前的是否比