正确答案: B
3 6
题目:有如下程序段void fun(int *a, int *b){ int *k; k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b);} 程序运行后输出的结果是
解析:在本题中,程序首先定义了一个无返回值的函数fun,该函数带有两个整型的指针形参变量,在函数体中,首先定义一个整型指针变量k,然后试图利用k来交换a和b的结果。但处理语句k=a;很明显是对地址进行赋值操作。在C语言中,指针变量作为函数参数时,可以改变被指向的变量的值,但不能改变指针变量本身的值,即我们可以改变实参指向的变量的值,不能使实参指向其他的变量。因此,本函数并不能交换形参所指向变量的结果。
查看原题 点击获取本科目所有试题
举一反三的答案和解析:
[单选题]要想建立数据库“工资管理”,应使用命令( )。
CREATE DATA工资管理
解析:解析:建立数据库的常用方法有3种:在项目管理器中建立数据库、通过“新建”对话框建立数据库、使用命令交互方式建立数据库。在命令窗口输入CREATEDATABASE工资管理或简写为CREATEDATA工资管理即可。
[单选题]在使用程序流程图来表示算法时,菱形用来表示_______。
判断分支
解析:解析:美国国家标准化协会ANSI规定了一些常用的流程图符号,其中椭圆框表示起止框,方框表示处理框,菱形框表示判断分支,箭头表示流程线。
[单选题]在运行时,若要获得用户在文本框中所选择的文本,可通过访问 属性来实现。
SelText
[单选题]目前我国家庭计算机用户接入互联网的下述几种方法中,最快的是()。
光纤入户
[单选题]下列字符序列中,不可用作C语言标识符的是______。
ab