这道C语言题目怎样解?

当运行以下程序时,从键盘输入:AhaMA(空格)Aha<CR>,则下面程序的运行结果是#unclude<stdio.h>main(){chars[80],c='a';in... 当运行以下程序时,从键盘输入:AhaMA(空格)Aha<CR>,则下面程序的运行结果是
#unclude<stdio.h>
main()
{char s[80],c='a';
int i=0;
scanf("%s",s)
while(s[i]!='\n')
{if(s[i]==c)s[i]-32;
else if(s[i]==c-32)s[i]=s[i]+32;
i++;}
puts(s);}

还有一道题:
以下程序的输出结果是
void fun (float *p1,float*p2,float*s)
{s=(float*)calloc(1,sizeof(float));
*s=*p1+*p2++;}
main()
{float a[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;
fun(a,b,s);
printf("%5.2f\n",*s);}
A)11.10 B)12.00 C)21.10 D)1.10
展开
 我来答
吉米有态度
2007-08-26 · TA获得超过119个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:227万
展开全部
第一题:输出 ahAMa,实际上就是将空格之前的字符串中的A和a互换一下。注意,这个通过scanf函数传入的字符串只能是空格之前的,空格之后的将不被传入s这个数组中。
第二题:答案应该选择D。我的解释是这样的:首先,在main函数中,*s=a,说明s指向a数组中的第一个元素(数组名实际上是数组第一个元素的地址),然后调用fun函数,在fun函数中传递的是指针的值,所以,调用完函数后,将不会改变main函数中s指针的值,所以,s仍然指向数组a的第一个元素,打印s所指向元素的值,当然就是1.1了。
蓝苍雨
2007-08-26
知道答主
回答量:83
采纳率:0%
帮助的人:0
展开全部
差个VIOD 在MAIN之前
INTLUDE差这个啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
290736520
2007-08-26 · TA获得超过170个赞
知道答主
回答量:227
采纳率:100%
帮助的人:83.5万
展开全部
从键盘输入:AhaMA(空格)Aha<CR>,
程序的意思是把大写的A换成小写的a,
程序的意思是把大写的a换成小写的A.
结果自己算吧!~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞黄腾达hnu
2007-08-26 · TA获得超过422个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:102万
展开全部
第一题好像是AhaMA
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式