若有以下定义:char s[20]="programming",*ps=s;则不能代表字符o的表达式是_______。A.ps+2B.s[2]C
若有以下定义: char s[20]="programming",*ps=s; 则不能代表字符o的表达式是_______。
A.ps+2
B.s[2]
C.ps[2]
D.ps+=2,*ps
若有以下定义: char s[20]="programming",*ps=s; 则不能代表字符o的表达式是_______。
A.ps+2
B.s[2]
C.ps[2]
D.ps+=2,*ps
若有定义和语句 () char s[10];s="abcd";printf("%s\n",s); 则结果是(以下μ代表空格)
A.输出abcd
B.输出a
C.abcdμμμμμ
D.编译不通过
A.可以用*P表示s[0]
B.s数组中元素的个数和p所指字符串长度相等
C.s和p都是指针变量
D.数组s中的内容和指针变量p中的内容相等
变量s的定义为“char *s="Hello world!";”,要使变量p指向s所指向的同一个字符串,则应选取(47)。
A.char *p=s;
B.char *p=&s;
C.char *p;p=*s;
D.char *p; p=&s;
若有以下定义和语句char c1='b',c2='e'printf("%d,%c\n",c2-c1,c2-'a'+A); 则输出结果 ()
A.2,M
B.3,E
C.2,E
D.输出项与对应的格式控制不一致,输出结果不确定
#include <stdio.h>
main ()
{ int i; char? s[21],*p;
for (i=0;i<20;i++)
s[i]=getchar ();
s[i]=【6】;
p =【7】
while (*p)putchar? (【8】);
}
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
有以下程序: #include<stdio.h> #include<string.h> #include void f(char*s,char*t) { char k; k=*s; *s=*t; *t=k; s++;t--; if(*s)f(s,t): } main() {char str[10]="abcdefg",*P; P=str+strlen(str)/2+1: f(p,p-2); printf("%s\n",str); } 程序运行后的输出结果是()。
A.abcdefg
B.gfedcba
C.gbcdefa
D.abedcfg
下面程序是将字符串P中的所有字符复制到字符串b中,要求每复制三个字符后插入一个空格。
#include<stdio.h>
void cp(char *P,char *b)
{int i,k=0;
while(*p)
{i=0;
while(______)/*第一空*/
{b[k]=*p;
k++;p++;i++;
}
if(*p)
{______;/*第二空*/
}
}
______;/*第三空*/
}
main()
{char a[20],b[20];
gets(a);
cp(a,b);
puts(b);
print f("\n");
}
若要说明一个类型名STP,使得定义语句STP s等价于char *s,以下选项中正确的是()。
A.typedef STP char *s;
B.typedef *char STP;
C.typedef STP *char;
D.typedef char* STP;
若有以下说明和定义
typedef int*INTEGER:
INTEGER P,*q;
以下叙述正确的是
若有以下定义,则对a数组元素的正确引用是()。
int a[5],*p=a;
A)*&a[5]
B)*a 1
C)*(p 5)
D)*(a 2)