首页 > 试题广场 >

以下 C 程序的输出结果是() #include stdi

[单选题]
以下 C 程序的输出结果是()
#include <stdio.h>
#include <stdlib.h>

int a = 1;
void test(){
    int a = 2;
    a += 1;
}

int main(){
    test();
    printf("%d\n", a);
    return 0;
}
  • 1
  • 2
  • 3
  • 4
发表于 2018-04-10 21:03:58 回复(0)
发表于 2018-07-10 10:31:59 回复(0)
a为全局变量,在函数内部改变后,也会改变其值
发表于 2017-01-02 21:49:01 回复(1)
//这个样子也可以
#include<stdio.h>
#include<stdlib.h>
 
int a=1;
int test()
{
    int a=2;
    a+=1;
    return a;
}
 
int main()
{
 
    test();
    printf("%d\n",test());
    system("pause");
    return 0;
}

发表于 2019-09-23 14:21:03 回复(0)
全局变量都是static的,所以选c
发表于 2017-08-02 20:55:13 回复(2)
如果test()再新建了变量a(如题),那么会屏蔽掉全局变量a,即test()里面的a和全局变量a是两个不同的a。
如果test()没有新建变量a,那么使用的是全局变量的a。
即,如果改为:
#include<stdio.h>
#include<stdlib.h>
int a=1;
void test(){
a=2;//题中为 int a=2
a+=1;
}
int main(){
test();
printf("%d\n",a);
return 0;
}
这样的话结果为3
编辑于 2018-04-08 16:38:06 回复(9)
定义了一个全局变量a和一个局部变量a 
局部变量a的生命周期在test()函数中有效
而全局变量的生命周期可以在整个文件个有效 此处main函数使用的时全局变量a
发表于 2018-11-25 19:09:34 回复(0)
弱弱的问一句,在vc下这能编译过么?
发表于 2017-02-21 14:29:11 回复(0)
printf打印是在main函数里面,定义的test函数并没有返回值,所以并不能影响main函数里面a的值,因此main函数中打印出来的是全局变量定义的int a=1
发表于 2019-07-19 23:13:56 回复(0)
需要注意test()函数是否有返回值
发表于 2019-11-01 16:40:04 回复(1)
定义了一个全局变量和a和一个局部变量a,局部变量a的生命周期在test()函数中有效,而全局变量的生命周期可以在整个个文件中有效
发表于 2022-02-24 16:31:37 回复(0)
#include<stdio.h>
#include<stdlib.h>
 
inta=1;    //定义全局变量
voidtest(){
    inta=2;//此处定义的是局部变量,只在函数中起作用,相同的名字,而结果输出的是全局变量,如果此处把int a=2;改为赋值a=2;那么就能改变a的值,输出为3
    a+=1;
}
 
intmain(){
 
    test();
    printf("%d\n",a);
    return0;
}
发表于 2021-03-05 09:47:22 回复(1)
1+8+15+22+24+28
发表于 2021-01-28 12:42:41 回复(0)
Text是一个函数,其中定义的a变量只在这个函数内部有效,
发表于 2019-11-24 20:10:13 回复(0)

函数内屏蔽全局变量

发表于 2019-11-06 13:07:05 回复(0)
test()中的a是局部变量,只能再test()中有效,而主函数输出的a是全局变量,故而输出的应该是全局变量的a,所以选A
发表于 2019-09-02 19:48:40 回复(0)
无语了,这题目竟然贴了C/C++的标签,题目本身代码都是错的。
C/C++里面,根本没有print函数

问“此时打印”,但是又不在main()函数中,显然会出错。

诶。
发表于 2017-09-05 15:43:59 回复(0)
问题是void函数return了啥啊这是
vs下不能编译
发表于 2017-09-04 10:31:29 回复(0)
注意题中的a是全局变量,a的值会被改变
发表于 2017-09-01 15:09:49 回复(2)
return 都不能return。。。。。。。。。
发表于 2017-08-25 13:47:36 回复(0)