一道c语言题目?

只循环了两次,为什么输出是223?

1.重要的一点:函数fun里面的d和外面的d是不一样的变量,应该看作两个变量,一旦进入fun,外面的d就不起作用了。
2.两次调用fun的作用除打印了两个2,没有其他任何作用。
3.主函数里的d本身为1,两次循环后,结果为3,所以打印3。
最终打印的结果是:
2
2
3追问

第一个d不是全局变量?怎么不起作用

追答

因为你在fun内部重新定义了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-15
fun() 里是输出的2,两次,最后3是main里的D

有一道C语言的题目:已知:char a; int b; float c; double d;则计算表...
该题选择D答案:1、a定义的是char型,实际上他也可以看做是int型,你试过没有将一个char型的变量用%d的格式输出后,为一个整数,该整数是该字符的ASCII码,是十进制而已。所以a*c之后的类型为float型 2、a*c+c自然也就是float型了。。那么最后就变为float减去一个double型,因为double型表示的...

一道C语言题目,看图~大神帮忙解答下吧!急急急急急!!在线等
答案是D 在C语言中数组赋值可以如A,那样,【】里面定义了长度5{}中有最大不超过5个值,则赋值成功 B在5个数值之内所以也是正确的 答案C,就是另外中赋值方法,在【】中不定义长度,因此数组a[]的实际长度取决于{}中的值的数量,也就是说在C答案中有5个0作为数值,因此C答案中的a[]的实际...

一道c语言题目
char范围: -128~127 int 范围:-32768 ~32767 short范围:-32768~32767 A B C赋值都超出数据范围 ,故错误。double d;d=1;d=1.0 以上等价,因为无论赋的值是1还是1.0,通过赋值号=赋值后,d的值都是1.0, 会进行类型转换,类型由double决定.float 与此一样。故答案选D ...

一道C语言
答案C char str[][20]={"Hello","Beijing"} 这表示str是个二维数组,由两个一维数组构成,每个一维数组是20个字节构成。p=str 这表示p是指针,指向二维数组str的首地址 p+20 这表示由p指向的地址向后偏移20个字节,刚好指向了第二个一维数组“Beijing”了 strlen()它是字符数组长函数,对“Beij...

一道c语言的题目,求问如何使用c语言计数
{ bad++; } N - -; } printf("good = %d middle=%d bad = %d\\jn",good,middle,bad);\/\/输出个数 printf("好评率 = %f",(float)good\/(float)N);\/\/输出好评率,注意转换成浮点型 }

C语言的,帮我编一下.谢谢了
第一题:define MAX 0 define MIN 1 float fun(float a[],float maxmin[]){int i;float average,s=0.;maxmin[MAX]=maxmin[MIN]=a[0];for(i=0;i<N;i++){s+=a[i];if(a[i]>maxmin[MAX])maxmin[MAX]=a[i];if(a[i]<=maxmin[MIN])maxmin[MIN]=a[i];} average=s\/N...

一道c语言的题目(40
答案是1、a^b 1、^运算是按位来对比,如果不一样的话,就为1,一样就为0.所以,当执行完a^b 的时候,就可以得到10101101;(高位取反,低位不变,)2、| 是或运行,有1 的话就得到 1, 两种为0 则为0;所以,执行a|b 的话,得到的是 11111101;(高位置1)3、 &与运算,两种为1则为1,...

一道C语言题目 有3个整数a,b,c,由键盘输入,输出其中最大的数,请编写...
所以是 int main (void){ int a,b,c,max;printf("请输入三个任意整数:\\n");scanf("%d%d%d",&a, &b, &c);if(a>=b) max=a;else max=b;if(b>=c) max=b;else max=c;if(c>=a) max=c;else max=a;printf("max=%d\\n",max);return 0;} 或者用 include<stdio.h>...

一道c语言题目 求大神指点下算法?
根据题意,随机生成红绿蓝球任意个数,并任意顺序排列。这里采用随机数实现。统计按红绿蓝顺序排列最少交换次数,我的思路是:第一步:循环将最后一个红色球与最靠前的其它两色球(并且满足位置在红球之前)交换。第二步:循环将最后一个绿球与最靠前的蓝球(必须在绿球之前)交换。include <stdio.h> ...

c语言的一道填空题 很简单
执行顺序从右向左进行。首先,计算表达式a*a,结果为36。此时,a的值被更新为36。接着,执行a=a-36,即36-36,结果为0。因此,a的值变为0。最后,执行a=a+(-30),即0-30,结果为-30。最终,a的值为-30。

相似回答