几个C语言问题,求高手指点,望有详细过程。 求教c语言的问题,求高手指点!!

作者&投稿:帛泻 (若有异议请与网页底部的电邮联系)
第一题:321
printf参数入栈顺序从右至左,所以要先从右开始计算机参数的值。
*p++意思是先取p的值即(*p),然后给p这个地址加1。先取的值是1,即s[0],然后p加1就指向了s[1],再取值就成了s[1]的值了,依此类推。
第二题:27.000000
"/"号是整除的意思,如果你的除数和被除数都不是浮点数,则结果的小数位舍去,如果有一个是浮点数,则保留结果的小数位。
x=m/2+n*a/b+1/2;
m/2=3; n*a/b=24, 1/2=0;
因为是按%f浮点数形式输出,所以结果为27.000000
第三题:如果输出的是y,那和第一题一样道理,先取值,后加1.
第四题:a[0]-a[9]共十个元素,但941282107513共有12个数字,找数值最大的元素只能靠找最高位最大的数了,给出的数字里面最大的就是9,下标是0,9是一位数里最大的,94是两位数里最大的,941是三位数里最大的。
第五题:b
按%s输入的是字符串,输入ab其实是输入了串"ab\0","\0"是字符串的结束符,不可见。输入后a的结构是['a','b','\0'];'\0'输入到了a[2]的位置。但a[2]的位置由于不是指定给a的,所以a[2]的内容也不一定就是\0,很有可能在输出前这块内存已经被分配给其它程序,值已经被更改了。
所以输出结果其实是b或者b和一个未预料的字符。 赞同0| 评论

第一题:321
printf参数入栈顺序从右至左,所以要先从右开始计算机参数的值。
*p++意思是先取p的值即(*p),然后给p这个地址加1。先取的值是1,即s[0],然后p加1就指向了s[1],再取值就成了s[1]的值了,依此类推。
第二题:27.000000
"/"号是整除的意思,如果你的除数和被除数都不是浮点数,则结果的小数位舍去,如果有一个是浮点数,则保留结果的小数位。
x=m/2+n*a/b+1/2;
m/2=3; n*a/b=24, 1/2=0;
因为是按%f浮点数形式输出,所以结果为27.000000
第三题:如果输出的是y,那和第一题一样道理,先取值,后加1.
第四题:a[0]-a[9]共十个元素,但941282107513共有12个数字,找数值最大的元素只能靠找最高位最大的数了,给出的数字里面最大的就是9,下标是0,9是一位数里最大的,94是两位数里最大的,941是三位数里最大的。
第五题:b
按%s输入的是字符串,输入ab其实是输入了串"ab\0","\0"是字符串的结束符,不可见。输入后a的结构是['a','b','\0'];'\0'输入到了a[2]的位置。但a[2]的位置由于不是指定给a的,所以a[2]的内容也不一定就是\0,很有可能在输出前这块内存已经被分配给其它程序,值已经被更改了。
所以输出结果其实是b或者b和一个未预料的字符。

第一题:111
第二题:27.000000
第三题:题干不完整,输出y的话是3
第四题:0
第五题:b

C语言题,应该不难,望高手指点。~

递归问题!!
第一次 void f(char * p)p指针再1的位置
第二次 f(p+1);p再3
第三次 f(p+1);p再9
四次死 f(p+1);p再\0位
返回 printf("%c",* p);p再9 打印9
再返回printf("%c",* p); p再3 打印3

最后打印1

printf("%s
",ss); ss改成s
结果是 \141aabc
\\ 代表一个 \
\141 代表八进制数141
代表跳到下一个tab位置

C语言题,求高手指点!?
答:分析:编译器不会对“局部变量” 初始化,全局变量 会默认被初始化为0.答案A 在使用指针变量P之前没有对其初始化,不能使用。2. 答案B 错误纠正 int *s,k;s=&k;s=100;通A,都是指针在使用前没有初始化。3.答案C 正确 4. 答案D 错误 s=p;是错误的 因为s是 一个整型数指针,而p是...

c语言的简答题!求高手解答
答:1 C 外部extern 2 A 函数中有递归函数 void型函数为无返回值函数 C语言程序有函数体组成 main函数 到各个子函数等 3 D 数组名做形参传的是数组首地址 B C不解释 被调函数在主调之前可以不声明 4 D 5 D 6 B 7 B static 可以修饰任意位置变了 全局和静态变态存在数据区 初值为0 8 B...

一个c语言问题,求高手给出结果,并解释
答:include <stdio.h> void main(){ long b = 3; //3后面没有分号。int a=-5;unsigned int c; // unsigned拼写错误 c=a+b; //应该加上这行的。//-2的补码为11111111111111111111111111111110,与4294967294数对应。printf("c=a+b=%u",c);} 2 运行结果:c=a+b=4294967294 ...

C语言编程问题 求高手解答
答:程序运行输入65回车后,不会输出结果 因为,scanf("%c",&c1);要求以字符的形式输出进去,输入65的时候,c1接收的是字符6 接下来,while后的条件表达式的值为逻辑真,会让你继续输入,直到输入大写字母的时候,才会结束 输出大写字母的大写形式,小写形式 ...

一些简单的C语言题目第3弹,请高手指教!
答:6.以下程序是求任意一个正整数n各位数的乘积,例如:357的乘积是3*5*7.include <stdio.h> long func(long num){ long k=1;do{ k*=num%10; num/=10; }while(_ num__);return k; } void main(){ long n,f;scanf(“%d”,&n); f=func(n);printf(“result=%ld\n”,_...

一个C语言问题,求高手指导
答:floatf;float c;printf("f=");scanf("%f",&f);c=(5.0/9.0)*(f-32.0);printf("F对应的摄氏温度=%5.2f",c);问题:(1). 格式化输入不对;(2). 计算时整数相除结果为整数,应该用浮点数进行计算。解决方法如上述程序。

C语言编程问题 共五题 求高手回答
答:void main(){ int i,n;int a=2,b=1;//a是分子,b是分母 int temp;float sum=0.0;printf("输入数列的项数n:");scanf("%d",&n);for(i=0;i<n;i++){ sum+=float (a)/b;temp=a;a=a+b;//分子是前一项的分子和分母的和 b=temp;//分母是前一项的分子 } printf("\n数列前...

...的程序问题,对运行结果有疑问,题目如下,求高手解惑:
答:各位知友,本人新学C语音。碰到一个不复杂的程序问题,对运行结果有疑问,题目如下,求高手解惑: #include<stdio.h>voidmain(){inta,b,c,d;a=1;b=2;c=(a++)+(a++)+(a++);d=(++b)+(++b)+(++b);printf("c=%d,d=%d\n",c,d);printf("a=%d,b=%d\n",a,b);}本人得出结果:c=3,d=15a...

C语言,急求高手指点!
答:k=a<b?b:a 是k=a和b当中最大的 k=k>c?c:k 是k=k和c当中最小的 所以k=2 A?B:C 是三目运算符 如果A成立值为B否则为C

一道基础C语言题,求解,最好附上这部分的知识点(通俗易懂点)。_百度知...
答:一道基础C语言题,求解,最好附上这部分的知识点(通俗易懂点)。 C老师语言老师补充的一个知识点,没注意听,现在求高手教导。题目如下:产生动态数组。动态分配了10个整型存储区域,然后进行赋值并打印。拜托帮我写出这个题的答案,顺便再讲讲分配存... C老师语言老师补充的一个知识点,没注意听,现在求高手教导。题目...