请帮我做这几道C语言选择题?

10.3语句printf("%d\n",strlen("ATS\n012\1\\"));的输出结果是:A11B10C9D8答案:C9不是8个吗?'A''T''S''\n'... 10.3 语句printf("%d\n",strlen("ATS\n012\1\\"));的输出结果是:
A 11 B 10 C 9 D 8
答案:C 9
不是8个吗?'A''T''S''\n''0''1''2''1'.不包括“\0”

10.5 有以下程序:
#include<stdio.h>
#include<string.h>
void fun(char *w,int m)
{ char s,*p1,*p2;
p1=w;p2=w+m-1;
while(p1<p2)
{ s=*p1++;*p1=*p2--;*p2=s;}
}
main()
{ char a[]="ABCDEFG";
fun(a,strlen(a)); puts(a);
}
程序的输出结果是:
A GFEDCBA B AGADAGA C AGAAGAG D GAGGAGA
答案:C
怎么不是A呢?

10.6 有以下程序:
#include<stdio.h>
main()
{ char s[]="ABCD",*p;
for(p=s;p<s+4;p++) printf("%s\n",p);
}
程序运行后的输出结果是:
A ABCD B A C D D ABCD
BCD B C ABC
CD C B AB
D D A A
答案:A
不是for(p=s=s[0];p<=s[3];p++),输出p=A B C D吗?

10.14 有以下程序,若运行时从键盘输入字符串qwerty<回车>和abcd<回车>,则程序的输出结果是:
#include<string.h>
#include<stdio.h>
strle(char a[],char b[])
{ int num=0,n=0;
while(*(a+num)!='0') num++;
while(b[n]) { *(a+num)=b[n];num++;n++;}
return(num);
}
main()
{ char str1[81],str2[81],*p1=str1,*p2=str2;
gets(p1);gets(p2); printf("%d\n",strle(p1,p2));
}
答案:10 根本无从下手,num是系统的求字母数的函数吗?

10.15 以下程序运行后的输出结果是:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void fun(char str[])
{ int i,j;
for(i=0,j=0;str[i];i++) if(isalpha(str[i]))str[j++]=str[i];
str[j]='\0';
}
main()
{ char ss[80]="It is!";
fun(ss); printf("%s\n",ss);
}
答案:Itis 题中“if(isalpha(str[i]))”什么意思啊?怎么做?
展开
 我来答
匿名用户
2011-03-18
展开全部
10.3 是'A''T''S''\n''0''1''2''1'.‘\\'不包括“\0”共9个。
10.6for(p=s=s[0];p<=s[3];p++)这语句有错!
10.14 是连接两个字符串,再用strlen计算出字符串的长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xion9liang
2011-03-18 · 超过25用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:79.2万
展开全部
太难了,我就不答了吧.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式