请帮我做这几道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]))”什么意思啊?怎么做? 展开
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]))”什么意思啊?怎么做? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询