.1
char *s="\ta\018bc";
for(; *s!='\0';s++){
printf("*");
}
for主要循环了6次,/t a \01 8 b c,/01就相当于1的八进制,如果/x的话就是循环3次,/t a /018bc
2.以下选项中,不能正确赋值的语句时 A
A,char s1[10];s1=="Ctest"; // ==是判断语句,改成char *s1; s1="Ctest";
B,char s2[ ];{'C','t','e','s','t'};
C,char s3[20]="Ctest";
D,char *s4="Ctest\n"
3.程序运行结果 171717
#include <stdio.h>
int main(){
char s[]="1234567";
char *p =s;
fun(p,strlen(p));
puts(p);
return 0;
}
void fun(char *w,int n){
char t,*s1,*s2 ;
s1=w;
s2=w+n-1;
while(s1<s2){
t = *s1++;
*s1=*s2--;
*s2=t;
}
}
//输出结果1711717
4.字符型数组中可能存放字符串,可以对字符型数组进行整体输入和输出,字符串的声明函数在<string.h>中,字符的声明函数在<ctype.h>中,字符串的结束符是'\0'
5.下列不能把字符串Hello!赋给数组B的是 B
A char b[10]={'H','e','l','l','o','!'}; //以字符的形式输出Hello!
B char b[5]="Hello!"; //因为数组b的长度为5,而字符串"Hello!"包含7个字符
C char b[10]; strcpy(b,"Hello!"); //用strcpy()函数将“Hello!”拷贝到数组b
D char b[10]="Hello!";
6.char s[12] = "string" printf("%d",strlen(s));输出的是字符长度也就是6,而printf("%d",sizeof(s))输出的是数组长度,也就是12
7.下列描述正确的是( D )。
A
、两个字符串所包含的字符个数相同时,才能比较字符串
B
、字符个数多的字符串比字符个数少的字符串大
C
、字符串
“STOP”
与
“STOP
”
相等
D
、字符串
“That”
与字符串
“Th