以下程序段运行后的输出结果是() int a[5]={2 4 6 8 10} *p; p=a; p++; printf(\%d *p);

大学网课 已帮助 人

以下程序段运行后的输出结果是() int a[5]={2,4,6,8,10},*p; p=a; p++; printf("%d",*p);

以下程序段运行后的输出结果是() int a[5]={2 4 6 8 10} *p; p=a; p++; printf(\%d *p);

热搜:下面程序的功能是输出数组s中最大元素

回答

共1条回复

  • 10111212 用static关键字声明的变量称为静态局部变量。静态局部变量只在编译时赋一次初值,以后再次调用函数时不再重新赋初值,而是保留上次函数调用结束时的值。程序中的变量c为静态变量,当再次调用fun函数时,变量c不再被赋初值,变量c的值为上次调用fun函数时所保留下来的值,具体在程序运行过程中的体现如下:当i=0时,第一次调用fun(5),这时a=5,b=0,c=3,执行b++,c++,得到b=1,c=4,则a+b+c=10,返回主函数输出010;当i=1时,第二次调用fun(5),这时a=5,b=0,c=4,执行b++,c++,得到b=1,c=5,则a+b+c=11,返回主函数输出111;当i=2时,第三次调用fun(5),这时a=5,b=0,c=5,执行b++,c++,得到b=1,c=6,则a+b+c=12,返回主函数输出212;当i=3时,循环结束,所以输出结果为:010111212。