c语言问题,有以下程序段 int j; float y; char name[50]; scanf("%2d%f%s", &j, &y, name);

作者&投稿:曾贡 (若有异议请与网页底部的电邮联系)
int j;float y;char name[50]; scanf("-%f%s",&j,&y,name)输入55566 7777abc,y的值为?~

敢说,由于控制符与变量表变量类型都不匹配,所以y的值是个随机机器数!

解析:本题scanf()函数的格式化控制串中,"%2d"表示输入一个2位的整数:"%f"表示输入一个浮点数;"%s"表示输入一个字符串。因此,从键盘上输入"55566  7777abc"后,前两位"55"被当作2位整数输入给j;"566"被当作浮点数输入给y;跳过空格后,剩下的字符串"7777abc"全部输入给name;故本题应该选择B。

y=566 (因为前面使用了%2d,所以j=55,y=566.0,再后面的7777abc赋给name)
name=7777abc

实测就有结果了.

7777abc


C语言问题 有以下程序: #include<stdio.h> int f(int m) { static in...
include int f(int m){ static int n=0; \/\/静态变量,只初始化一次,第二次为上一次的剩余结果 n+=m;return n; \/\/第一次n=1 第二次m=1,n+=m=2 } void main(){ int n=0;printf("%d,",f(++n)); \/\/++n,先自增,后调用n,相当于调用f(1)printf("%d\\n",f(n++...

c语言问题,有以下程序段 int j; float y; char name[50]; scanf("%2d...
y=566 (因为前面使用了%2d,所以j=55,y=566.0,再后面的7777abc赋给name)name=7777abc

c语言问题
c=*c+1; d=d+1;printf("%c,%c,",*c,d);} main(){ char a=’A’, b=’a’;fun(&b,a); \/\/b传的是指针,a传值,因此在函数返回时b值改变,而a不变 printf("%c,%c ",a,b);} 程序运行后的输出结果是__ b, B, A, b __。9. 有以下程序 int a=3;main() ...

c语言问题
有以下程序: #include main() { int a1,a2; char c1,c2; scanf(“%d%c%d%c”, &a1,&c1,&a2,&c2); printf(“%d,%c,%d,%c”, a1,c1,a2,c2); } 若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序运行后的输出结果是:12,a,34,b。则正确...

C语言求助!!!有以下程序,程序运行后的输出结果是?
输出3 j=f(1)+f(2)=1+(f(1)+1)=1+(1+1)=3

求大神赐教,求一C语言题!!有以下程序 #include <stdio.h> main...
这里我分布说明,程序的过程:第一步计算:x = y = 1;第二步计算:z = x ; 结果 z = 1;第三步计算:x++ ; 结果 x = 2;第四步计算:y++; 前面赋值 y=1; y++ 后 y = 2;第五步计算:++y; 前面 y++ 后,y =2 这里 ++y; 结果 y = 3;最后结果:x =2 ; ...

C语言:有以下程序,求输出结果。 #include<stdio.h> int main() {int...
55 A B<回车>,你输入的55和A之间有空格 然后他认为你输入的55 空格 A 空格 B,他只接收前面的三个

关于C语言。有以下程序段:int k,j,s; for(k=2;k<6;k++,k++
int k,j,s;for (k=2;k<6;k++,k++)\/\/ k=2,4 {s=1;for(j=k;j<6;j++) \/\/k=2时,j=2,3,4,5;k=4时,j=4,5 s+=j;\/\/s=s+j,k=2时,s=1+2+3+4+5=15;k=4时,s=1+4+5=10 } printf("%d\\n",s);\/\/s取第二遍执行的结果10 求采纳为满意回答。

关于c语言的问题: 拜托大家给我解答这两道题,我想知道为什么,
你的程序有问题,分析题意,我做了一点变化:1、有以下程序 printf("%o %o\\n",m,n);2、已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>。输出结果是 a=a-'A'+'0';对于第一题:m=0256,赋值语句将m变为八进制数,所以,输出时以八进制直接输出256,;n=256,n是十...

C语言有关问题。以下程序的输出结果是:(并且给出解释)
输出结果:c language 解释:if LETTER if(c>='a'&&c<='z') c=c-32;else if(c>='A'&&c<='Z') c=c+32;endif 这段是指当LETTER的值为真(非零)时执行第一个程序段if(c>='a'&&c<='z') c=c-32;否则执行第二个程序段if(c>='A'&&c<='Z') c=c+32;这里宏定义#define...

宿豫区17820195566: 一个c语言问题,给出答案并解释 有以下程序段: int k=0 while(k=1) k++; 则while循环执行的次数是【 】. -
汲琼牛至:[选项] A. 无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次

宿豫区17820195566: 有以下程序 int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; . 有以下程序 main() { int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%d\n”,a,b,c,d)... -
汲琼牛至:[选项] A. )0,1,2,0 B. 0,0,0,3 C. 1,1,2,0 D. 编译有错 请告诉我哪里有编译错误

宿豫区17820195566: 一道二级C题目设有以下程序段:int x=0,s=0;while(!=0)s+=++x;printf(“d%”,s);则A)运行程序段后输出0 B)运行程序段后输出1C)程序段中的控制表达式... -
汲琼牛至:[答案] 问题补充:首先执行while时 !x为真;!x!=0表达式的值为1,则执行语句,执行后x=1了,再执行while时,!x=0,!x!=0的值为0,则结束循环! 小子,和我们想的一样,不过不要急着给答案,我们几个同学现在正在讨论这个,TC出了点问题,正在重...

宿豫区17820195566: 若有以下程序段:int a=0,b=0,c=0 c=(a - =a - 5),(a=b,b+3); printf(“%d,%d,%d\n”,a,b,c); -
汲琼牛至: 大哥题都不对. int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\n”,a,b,c);按程序运行来讲吧. 第一句不说了... 第二句为逗号表达式. c=(a-=a-5) 给c赋值,把a-=a-5的结果赋给c; (a-=a-5)=(a=a-(a-5)); 把a=0;代入得a=5; 进而(a-=a-5)的值为5; c=5;接下来执行(a=b,b+3); 这里面又有逗号表达式. a=b;因b=0;故a=0; b+3;不对任何变量赋值,相当于空语句;综上所述:a=0;b=0;c=5.论述完毕.....................

宿豫区17820195566: C语言以下程序段: int c1=1,c2=2,c3; c3=c1/c2; printf("%d\ -
汲琼牛至: 因为你用int定义c3,而结果为0.5,转换为int就变成0.利用double来定义c3即可

宿豫区17820195566: 关于C语言.有以下程序段:int k,j,s; for(k=2;k<6;k++,k++ -
汲琼牛至: int k,j,s; for (k=2;k<6;k++,k++)// k=2,4 {s=1; for(j=k;j<6;j++) //k=2时,j=2,3,4,5;k=4时,j=4,5 s+=j;//s=s+j,k=2时,s=1+2+3+4+5=15;k=4时,s=1+4+5=10 } printf("%d\n",s);//s取第二遍执行的结果10 求采纳为满意回答.

宿豫区17820195566: c语言的问题,程序段如下 int x=3 do{printf("%3d",x - =2);} while(!(--x)) -
汲琼牛至: {printf("%3d",x-=2);} 这个就是x=x-2,也就是说x变成1了再输出,输出1--x就是x=x-1的简便写法,这时候x变成0,!0就是1,所以继续做do这个循环 第二次x再减去2变成-2,所以输出-2--x再减去1变成-3,!-3为0所以循环做到这就停止了 最后输出 1 -2

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网