15 以下程序运行后的输出结果是___。 main() { int a=0,b=0,c=0,d=
作者&投稿:芒琪 (若有异议请与网页底部的电邮联系)
%d中的内容用a+b的值替换,其他部分原样输出
注意只有%格式的会被替换
答案选择A,12
a-->5是先判断a与5的关系,然后再--
由于a=5所以a>5为假,!假为真,所以执行switch(a)这里a=4
所以从case 4开始执行,由于case 4没有break,所以会一直执行到遇到break或者switch结束,所以a+=4,a+=5得到a=13
第二次循环中a=13答应5为真,所以!真为假,跳出循环,但是也执行了--操作,所以最后输出12
if ... else ... 中 if 和 else 后面只能跟一条语句,如果需要执行多条的话需要用 { } 括一下,上面的 if 后面跟着两条语句所以有错
编译不过,if和else没有配对上,改成:
if (a=1)
{ b=1;c=2;}
else d=3;
酉侧舒威:[答案] 15题输出:0 1 1 1 16题:A 多个;C 那个第一个输出语句少个; 不知道是不是没打上. 17题:B 少个()
邹城市13890974602: 15、下列程序执行后输出的结果是( ). int d=1; fun (int p) { int d=5; d - ?
酉侧舒威: 选择A,理由:int d=1;这个变量d是一个全局变量,但是你fun方法里面又重新定义了一个相同名字的变量,这个变量就是局部变量,根据就近原则,那个全局变量d的值没有改变,只有局部变量d的值改变, 还有p++是先赋值后自增,你在main方法里面传入是变量a,而变量a的值是3,所以fun方法里面应该是这样的过程:d+=3,而变量d的初始值是5,所以这一句执行后变量d的值是8,在main方法里面,你没有定义变量d,这时候就使用的是全局变量d的值,也就是d + = a + +;应该是d+=3,因为全局变量d的初始值是1,所以这时候变量d的值就是4,所以输出8,4
邹城市13890974602: 执行以下程序段后的输出结果是 - ?
酉侧舒威: 首先循环呢是i[1~6]6次,循环体的内容执行时if(i%2==0)条件若满足了,就continue跳出本次循环,进行下一次循环;若不满足执行后面的s+=i i%2==0 %这里是求余符号也就是说i可以被整除 就是当i={ 2,4,6}的时候ontinue 说的是条 件满足了跳出本次循环,也就是不执行s+=i语句了 所以,i={ 1, 3,5}时s+=i执行,故而结果是s=1+3+5=9.
邹城市13890974602: 以下程序运行后的输出结果是 - main() {int x=15; while(x>10&&x<50) {x++; if(x/3){x++;break;} else continue;} printf(?
酉侧舒威: x=17
邹城市13890974602: 下列程序执行后的输出结果是( ) void func(int * a, int b[] ) - ?
酉侧舒威: 靠,结果不定.而且不能达到你想要的结果.int型的b[0]被赋值*(&a)等价与a,func()中的b是一个地址,指针.而你与int型的a相加,并赋予int型的b[0]得不到正确结果.但不是错误,编译器会报警告.还有实验结果,贴不上图.需要可以找我我发给你!@c青苔瓦
邹城市13890974602: 以下程序运行后,a和b的值分别是 - ?
酉侧舒威: B %%这个标识输出一个%,后面的%d则表示输出a的值,10对3取余,余数为1,所以第一部分输出%1,后面类似输出一个%5