#include
int i,j;
for(i=j=0; *(p+i)!=?\\0?; i++) if(*(p+i)>=?d?) {
*(p+j)=*(p+i); j++; }
*(p+j)=?\\0?; }
void main() {
char str[ ]=”cdalb”; abc(str); puts(str); }
A.dalb B.cd C.dl D.c
【例5.17】下面程序的运行结果是 。
#include
int x[5]={2,4,6,8,10},*p,**pp; p=x; pp=&p;
printf(“%d”,*(p++)); printf(“%d\\n”,**pp); }
A.4 4 B.2 4 C.2 2 D.4 6
【例5.18】阅读以下程序:
#include
int a[10]={2,4,6,8,10,12,14,16,18,20},*p; p=a;
printf(“%x\\n”,p); printf(“%x\\n”,p+9); }
若第一个printf语句输出的是ffca,则第二个printf语句输出的是 。 A.ffdd B.ffdc C.ffde D.ffcd
【例5.19】以下程序运行的结果是 。
#include
49
void main() {
char *p1,*p2,str[50]=”abc”,st[50]=”abc”; p1=st; p2=”abc”;
strcpy(str+1, strcat(p1,p2)); printf(“%s\\n”,str); }
A.abcabcabc B.bcabcabc C.aabcabc D.cabcabc
【例5.20】以下程序运行的结果是 。
#include
*z=y-x; }
void main() {
int a,b,c;
sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);
printf(“M,M,M\\n”,a,b,c); }
A.5, 2, 3 B.-5, -12, -7 C.-5, -12, 7 D.5, -2, -7
【例5.21】执行以下程序后,a的值为【1】 ,b的值为【2】 。
#include
int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1= =&m;
b=(-*p1)/(*p2)+7; printf(“a=%d\\n”,a); printf(“b=%d\\n”,b); }
【1】 A.-1 B.1 C.0 D.4 【2】 A.5 B.6 C.7 D.10
【例5.22】下面程序的运行结果是 。
#include
int b,a=28; char s[10],*p; p=s;
50