有以下程序:程序运行后的输出结果是( )。.A.3,3B.1,1C.2,3D.1,2

题目

有以下程序:

程序运行后的输出结果是( )。.

A.3,3

B.1,1

C.2,3

D.1,2

参考答案和解析
正确答案:D
该题目中首先区别++n和n++,第一次调用f函数时,将++n(n自增l后再参与运算)作为参数进行传递,此时变量m的值为1,执行n+=m;后,n=1,将l返回主函数,并输出。第二次调用f函数时,将n++(n参与运算后再自增1)作为参数进行传递,此时变量m的值为1,执行语句n+=m;,由于n是静态存储变量,因此n=2,将2返回主函数并输出。因此D选项正确。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序

#include<stdio.h>

#include<stdlib.h>

main( )

{int*a,*b,*c;

a=b=c=(int*)malloc(sizeof(int));

*a=1;*b=2,*c=3;

a=b

printf(”%d,%d,%d\n”,*a,*b,*c);

}

程序运行后的输出结果是( )。

A.3,3,3

B.2,2,3

C.1,2,3

D.1,1,3


正确答案:A
解析:本题中,首先创建开辟一个动态内存,然后将地址分别存入指针a、b、c中,即a、b、c都指向相同的变量。分别给a、b、C所指的变量赋值,最终a、b、c所指的变量中的值为3,最后打印a、b、c所指的变量的值,即3,3,3。所以选A。

第2题:

有以下程序

程序运行后输出结果是

A.0,2

B.0,3

C.1,3

D.1,2


正确答案:D
本题重点考查while语句,变量a和b分别赋初值为-2和1,while语句的语义是:计算表达式的值,当值为真(非O)时,执行循环体语句。a++即a参与运算后,a的值再自增1。++b即b自增1后再参与其它运算。当表达式的值为0时,退出循环,最后输出a和b的值为1和2。因此D选项正确。

第3题:

有以下程序:

i

程序运行后的输出结果是( )。。,

A.3,4

B.4,1

C.2,3

D.1,2


正确答案:C
本题考查结构体数组的相关操作,dt为结构体数组,那么指针P指向了结构体数组的一个元素,所以P一>x为1,P一>Y为2,结果为2,3。选项C正确。

第4题:

有以下程序

程序运行后的输出结果是( )

A.1,3,3

B.1,3.2

C.1,2,3

D.3,2,1.


正确答案:A
执行(a==1&&b++==2)和b!=2然后输出a、b、CSY别为l、3、3,答案为A)。

第5题:

有以下程序

程序运行后的输出结果是( )。

A.1,2

B.1,1

C.2,1

D.2,2


正确答案:A
fun(++n)返回值为l,fun(n++)因为fun函数内n为static类型,仍保持原值1,函数返回值为2,所以答案选择A)。

第6题:

有以下程序 程序运行后的输出结果是( )A.3,5,3,5B.3,5,5,3C.5,3,3,5

有以下程序

程序运行后的输出结果是( )

A.3,5,3,5

B.3,5,5,3

C.5,3,3,5

D.5,3,5,3


正确答案:A
f函数交换局部变量a和b指针变量里的值,main调用并不改变参数的值,所以答案选择A)。

第7题:

有以下程序

程序运行后的输出结果是( )。

A.3,3,3

B.2,2,3

C.1,2,3

D.1,1,3


正确答案:A
malloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(ints)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,h,’c都指向刚申请的内存空间。因此只有最后一个赋值语句*c=3的值保留在了该空间内,因为a,b,c三个指针变量均指向该空间,所以打印该空间内的数值均为3,选项A)正确。

第8题:

有以下程序: 程序运行后的输出结果是( )。 A.3,3,3B.2,2,3C.1,2,3

有以下程序:程序运行后的输出结果是( )。

A.3,3,3

B.2,2,3

C.1,2,3

D.1,l,3


正确答案:A
根据程序可以分析出系统只分配了一个整型数据的存储空间,把这个空间的地址分别赋给了指针型变量a,b和c。程序利用指针a把数据1写入了该空间,然后利用指针b,把数据2写入该空间,所以原来的1就被覆盖掉了,最后用指针c把数据3写入该空间把数据2覆盖掉了,此空间中最后留有的数据是3。因为3个指针都指向该空间,所以输出数据均为3。

第9题:

数字字符0的ASCII值为48,若有以下程序 main() { char a='1',b='2'; printf("%c,b++); printf("%d\n",b-a); } 程序运行后的输出结果是______。

A.3,2

B.3,1

C.2,1

D.2,2


正确答案:D