![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
这道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 展开
#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 展开
4个回答
展开全部
第一题:输出 ahAMa,实际上就是将空格之前的字符串中的A和a互换一下。注意,这个通过scanf函数传入的字符串只能是空格之前的,空格之后的将不被传入s这个数组中。
第二题:答案应该选择D。我的解释是这样的:首先,在main函数中,*s=a,说明s指向a数组中的第一个元素(数组名实际上是数组第一个元素的地址),然后调用fun函数,在fun函数中传递的是指针的值,所以,调用完函数后,将不会改变main函数中s指针的值,所以,s仍然指向数组a的第一个元素,打印s所指向元素的值,当然就是1.1了。
第二题:答案应该选择D。我的解释是这样的:首先,在main函数中,*s=a,说明s指向a数组中的第一个元素(数组名实际上是数组第一个元素的地址),然后调用fun函数,在fun函数中传递的是指针的值,所以,调用完函数后,将不会改变main函数中s指针的值,所以,s仍然指向数组a的第一个元素,打印s所指向元素的值,当然就是1.1了。
展开全部
差个VIOD 在MAIN之前
INTLUDE差这个啊
INTLUDE差这个啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从键盘输入:AhaMA(空格)Aha<CR>,
程序的意思是把大写的A换成小写的a,
程序的意思是把大写的a换成小写的A.
结果自己算吧!~~
程序的意思是把大写的A换成小写的a,
程序的意思是把大写的a换成小写的A.
结果自己算吧!~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题好像是AhaMA
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询