任务33:指向字符串的指针变量 《编程语言-C语言》45分钟专题训练

| 2份
| 28页
| 76人阅读
| 1人下载

内容正文:

湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《编程语言—C语言》 项目七: 指针 第33卷: 指向字符串的指针变量 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共23小题,每小题2分,共46分) 1.执行以下程序段的运行结果是( ) main() {char *p="abcde"; p+=3; printf("%c",*p); getch();} A.d B.100 C.字符d的地址 D.有语法错误 2.以下4种叙述中,正确的一项是( )"" A. char *a="china";等价于char *a;*a="china"; B.char str[ ]={ "china"};等价于char str[10];str[ ]={ "china"}; C.char *s="china";等价于char *s;s="china"; D.char a[4]= "chi",b[4]= "chi";等价于char a[4]=b[4]= "chi"; 3.下列程序的输出结果是( ) main() {char s[ ]="cent"; printf("%c ",*s+2); getch();} A.c B.e C.n D.t 4.下列选项中,能够正确进行字符串赋值操作的语句是( ) A.char s[5]={"ABCDE"}; B.char *s;s="ABCDE"; C.char *s;scanf("%s",s); D.char s[5]={ 'A'、'B'、'C'、'D'、'E'}; 5.下列选项中,正确的程序段是( ) A.char s[ ]= "12345",t[ ]= "6544d21";strcpy(s,t); B.char s[20],*t="12345";strcat(s,t); C.char s[20]= " ",*t="123456";strcat(s,t); D.char *s="123456",*t="556789";strcat(s,t); 6.下列选项中,正确的一项是( ) A.char *s="girl";等价于char *s;*s="girl"; B.char s[10]={ "girl"};等价于char s[10];s[10]={ "girl"}; C.char *s="girl";等价于char *s;s="girl"; D.char s[4]= "girl",t[4]= "girl";等价于char s[4]=t[4]= "girl"; 7.以下程序段的输出结果是( ) void fun(char *c) {while(*c) {if(*c>='a'&&*c<='z') *c=*c-('a'-'A'); c++;}} main() {char s[20]="Hello Beijing"; fun(s); puts(s);getch();} A.hello beijing B. Hello Beijing C.HELLO BEIJING D.HELLO Beijing 8.执行以下程序段的输出结果是( ) void fun(char *s) {while(*s) {if(*s%2==0) printf("%c",*s); s++;}} main() {char a[ ]="good"; fun(a); printf(" "); getch();} A.d B.go C.god D.good 9.执行以下程序段的输出结果是( ) void fun(char *s) {while(*s) {if(*s%2) printf("%c",*s); s++;}} main() {char a[ ]="2025TEST"; fun(a); printf(" ");getch();} A.2025 B.TEST C.5EST D.5ES 10.执行以下程序段的输出结果是( ) void fun(char *s,char t[ ]) {int i,j=0,n; n=strlen(s); for(i=0;i<n;i++) if(i%2!=0&&s[i]%2!=0) {t[j]=s[i];j++;} t[j]='\0';} main() {char s[20]="This is 2025 Test!",t[20]; fun(s,t); printf("%s ",t);getch();} A.This is 2025 Test! B.2025 C.si5s! D.TT! 11.设有定义:char *s="\ta\017bc";则指针变量s指向的字符串所占字节数为( ) A.5 B.6 C.7 D.9 12.设有语句段:char *s="\ta\018bc";for( ;*s!= '\0';s++) printf("*");,则for循序的执行次数是( ) A.5 B.6 C.7 D.9 13.下列选项中,不能正确进行字符串赋初值的语句是( ) A.char str[5]= "good!"; B.char *str="good!"; C.char str[ ]="good!"; D. char str[5]={ 'g', 'o', 'o', 'd'}; 14.设有定义:char s[ ]= "It is a example!",*t="It is a example!";则下列选项中,叙述不正确的一项是( ) A.s表示的是第一个字符i的地址,s+1表示的是第二个字符t的地址 B.t目前所指字符串的内容不能改变,t重新赋值后可以指向其他字符串 C.t变量中存放的地址值可以改变 D.s中只能存放16个字符 15.设有语句:char s[ ]= "boy",*t;t=s;,则下列叙述中,正确的一项是( ) A.s数组和t指针变量完全相同 B.数组s中的内容和指针变量t中的内容相等 C.s数组长度和t所指向的字符串长度相等 D.*(++t)与s[1]相等 16.下列选项中,不能使指针指向一个字符串的选项是( ) A.char str[ ]= "string";char *ps;*ps=str; B.char str[ ]="string";char *ps;ps=str; C.char str[ ]="string",char *ps=str; D.char *ps;ps=str;ps="string" 17.设有定义和语句:char s[20]= "hunan!",*p;,则执行p=s;语句后,下列叙述中,正确的一项是( ) A.可以用*p表示s[0] B.s数组中元素的个数和p所指字符串长度相等 C.s和p都是指针变量 D.数组s中的内容和指针变量p中的内容相等 18.设有定义:char *str;,则下列选项中能够使得字符型指针str正确指向一个字符串的是( ) A.char str[ ]="string";c=str; B.scanf("%s",str); C.str=getchar( ); D.*str="string" 19.设有定义和语句:char str[ ]= "Hello!",*p;p=str;,此时*(p+5)中的值为( ) A. '\0' B. 'o' C.'o'的地址 D.不定值 20.执行以下程序段的输出结果是( ) main() {char s[ ]="Hunan"; printf("%c ",*s+2); getch();} A.H B.J C.I D.74 21.执行以下程序段的输出结果是( ) main() {char s[ ]="uvwxyz",*px; px=s; printf("%c ",*(px+5));getch();} A.0 B.z C.y D.122 22.执行以下程序段的输出结果是( ) main() {char s[10]="verygood",*ps=s; ps+=4; ps="name"; puts(s);getch();} A.name B.veryname C.namegood D.verygood 23.执行以下程序段的输出结果是( ) int disp(char *str) {while(*str) putchar(*str++); return *str;} main() {printf("%d ",disp("HUNAN"));getch();} A.HUNAN0 B.HUNANN C.HUNAN D.HUNAN\0 二、程序运行结果题(本题共7小题,每题3分,共21分) 24.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> void fun(char *p) {int i=0; while(p[i]) {if(p[i]==' '&&(p[i-1]>='a'&&p[i-1]<='z')) p[i-1]=p[i-1]-'a'+'A'; i++;}} main() {char s1[100]="ab cd EFG!"; fun(s1); printf("%s ",s1); getch();} 25.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {char s1[ ]="programe",s2[ ]="Language"; char *p1=s1,*p2=s2; int k; for(k=0;k<8;k++) if(*(p1+k)==*(p2+k)) printf("%s ",(p1+k));getch();} 26.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> char fun(char *c) {if(*c<='Z'&&*c>='A') *c-='A'-'a'; return *c;} main() {char s[ ]="OPEN the DOOR",*p=s; while(*p) {*p=fun(p); putchar(*p); p++;} getch();} 27.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> #define SIZE 10 void sub(char*a,int tl,int t2); main( ) { char s[SIZE]; int i; for(i=0;i<SIZE;i++) s[i]='A'+i+32; sub(s,7,SIZE-1); for(i=0;i<SIZE;i++) printf("%c",s[i]); printf(" ");getch();} void sub(char *a,int tl,int t2) { char ch; while(tl<t2) { ch=*(a+tl); *(a+tl)=*(a+t2); *(a+t2)=ch; tl++;t2--;}} 28.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> void fun(char *a,char b) { while( *(a++)!='\0'); while(*(a-1)<b) *(a--)=*(a-1); *(a--)=b;} main( ) { char s[ ]="97531",c; c='6'; fun(s,c); puts(s); getch();} 29.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> int fun(char *p,char *q) { int i; char *pl=p,*ql; for(i=0;*p!='\0';p++,i++) {p=pl+i; if(*p!=*q) continue; for(ql=q+1,p=p+1;*p!='\0'&&*ql!='\0';ql++,p++) if(*p!=*ql) break; if(*ql=='\0') return i;} return (-1);} main( ) { int a; char s[80]="abcdabcdef",t[80]="cde"; a=fun(s,t); printf("a=%d ",a);getch();} 30.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> void fun(char *s1,char*s2) { int j; char *s=s1; for( ;*s2!='\0';s2++) { for(j=0,s1=s;*s1!='\0';s1++) if(*s1!=*s2) { s[j]=*s1;j++;} s[j]='\0';}} main( ) {char al[ ]="ASDFGHJ",a2[ ]="AH"; fun(al,a2); puts(al);getch();} 三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。每处3分,共9分) 31.下列程序的功能是:输入一行文字,找出其中的大写字母、小写字母、空格、数组及其他字符各有多少。程序中有三处错误,请改正。 #include <stdio.h> #include<conio.h> L1 main() L2 {int upper=0,lower=0,digit=0,space=0,other=0,i=0; L3 char *p,s[20]; L4 printf("input string: "); L5 while(s[i]=getchar()!=' ') L6 i++; L7 p=&s[0]; L8 while(p!=' ') L9 {if(('A'<=*p)&&(*p<='Z')) L10 ++upper; L11 else if(('a'<=*p)&&(*p<='z')) L12 ++lower; L13 else if(('9'<=*p)&&(*p<='0')) L14 ++digit; L15 else if(*p==' ') L16 ++space; L17 else ++other; L18 p++;} L19 printf("upper case:%d ",upper); L20 printf("lower case:%d ",lower); L21 printf("space case:%d ",space); L22 printf("digit case:%d ",digit); L23 printf("other case:%d ",other); L24 getch();} 四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分) 32.下列程序的功能是,实现两个字符串的比较。请填空。 #include <stdio.h> #include<conio.h> main() {int i=0,m; char str1[20],str2[20],*p1,*p2; printf("input two string: "); scanf("%s",str1); scanf("%s",str2); p1=&str1[0]; p2=【1】; while(【2】) if(*(p1+i++)=='\0') m=0; if(m!=0) m=【3】; printf("result:%d ",m); getch();} 33.以下程序的功能是:输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组中,统计一共有多少个整数,并输出这些数。请填空。 #include <stdio.h> #include<conio.h> main() {char str[50],*pstr; int i=0,j=0,k,m,x1,digit,ndigit=0,a[10],*pa; printf("input a string: "); gets(str); pstr=&str[0]; pa=&a[0]; while(*(pstr+i)!='\0') {if(【1】)j++; else { if(j>0) {digit=*(pstr+i-1)-48; k=1; while(k<j) {x1=1; for(m=1;m<=k;m++) x1=x1*10; digit=【2】; k++;} *pa=【3】; ndigit++; pa++; j=0;} }i++; } if(j>0) {digit=【4】; k=1; while(k<j) {x1=1; for(m=1;m<=k;m++) x1=x1*10; digit=digit+(*(pstr+i-1-k)-48)*x1; k++;} *pa=digit; ndigit++; j=0;} printf("there are %d numbers in this line,they are: ",ndigit); j=0; pa=&a[0]; for(j=0;j<ndigit;j++) printf("%d ",【5】); printf(" ");getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《编程语言—C语言》 项目七: 指针 第33卷: 指向字符串的指针变量 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共23小题,每小题2分,共46分) 1.执行以下程序段的运行结果是( ) main() {char *p="abcde"; p+=3; printf("%c",*p); getch();} A.d B.100 C.字符d的地址 D.有语法错误 【答案】A 2.以下4种叙述中,正确的一项是( )"" A. char *a="china";等价于char *a;*a="china"; B.char str[ ]={ "china"};等价于char str[10];str[ ]={ "china"}; C.char *s="china";等价于char *s;s="china"; D.char a[4]= "chi",b[4]= "chi";等价于char a[4]=b[4]= "chi"; 【答案】C 3.下列程序的输出结果是( ) main() {char s[ ]="cent"; printf("%c ",*s+2); getch();} A.c B.e C.n D.t 【答案】B 4.下列选项中,能够正确进行字符串赋值操作的语句是( ) A.char s[5]={"ABCDE"}; B.char *s;s="ABCDE"; C.char *s;scanf("%s",s); D.char s[5]={ 'A'、'B'、'C'、'D'、'E'}; 【答案】B 5.下列选项中,正确的程序段是( ) A.char s[ ]= "12345",t[ ]= "6544d21";strcpy(s,t); B.char s[20],*t="12345";strcat(s,t); C.char s[20]= " ",*t="123456";strcat(s,t); D.char *s="123456",*t="556789";strcat(s,t); 【答案】C。指针不能连接指针。 6.下列选项中,正确的一项是( ) A.char *s="girl";等价于char *s;*s="girl"; B.char s[10]={ "girl"};等价于char s[10];s[10]={ "girl"}; C.char *s="girl";等价于char *s;s="girl"; D.char s[4]= "girl",t[4]= "girl";等价于char s[4]=t[4]= "girl"; 【答案】C 7.以下程序段的输出结果是( ) void fun(char *c) {while(*c) {if(*c>='a'&&*c<='z') *c=*c-('a'-'A'); c++;}} main() {char s[20]="Hello Beijing"; fun(s); puts(s);getch();} A.hello beijing B. Hello Beijing C.HELLO BEIJING D.HELLO Beijing 【答案】C 8.执行以下程序段的输出结果是( ) void fun(char *s) {while(*s) {if(*s%2==0) printf("%c",*s); s++;}} main() {char a[ ]="good"; fun(a); printf(" "); getch();} A.d B.go C.god D.good 【答案】A 9.执行以下程序段的输出结果是( ) void fun(char *s) {while(*s) {if(*s%2) printf("%c",*s); s++;}} main() {char a[ ]="2025TEST"; fun(a); printf(" ");getch();} A.2025 B.TEST C.5EST D.5ES 【答案】D 10.执行以下程序段的输出结果是( ) void fun(char *s,char t[ ]) {int i,j=0,n; n=strlen(s); for(i=0;i<n;i++) if(i%2!=0&&s[i]%2!=0) {t[j]=s[i];j++;} t[j]='\0';} main() {char s[20]="This is 2025 Test!",t[20]; fun(s,t); printf("%s ",t);getch();} A.This is 2025 Test! B.2025 C.si5s! D.TT! 【答案】C 11.设有定义:char *s="\ta\017bc";则指针变量s指向的字符串所占字节数为( ) A.5 B.6 C.7 D.9 【答案】B 12.设有语句段:char *s="\ta\018bc";for( ;*s!= '\0';s++) printf("*");,则for循序的执行次数是( ) A.5 B.6 C.7 D.9 【答案】B 13.下列选项中,不能正确进行字符串赋初值的语句是( ) A.char str[5]= "good!"; B.char *str="good!"; C.char str[ ]="good!"; D. char str[5]={ 'g', 'o', 'o', 'd'}; 【答案】A 14.设有定义:char s[ ]= "It is a example!",*t="It is a example!";则下列选项中,叙述不正确的一项是( ) A.s表示的是第一个字符i的地址,s+1表示的是第二个字符t的地址 B.t目前所指字符串的内容不能改变,t重新赋值后可以指向其他字符串 C.t变量中存放的地址值可以改变 D.s中只能存放16个字符 【答案】D 15.设有语句:char s[ ]= "boy",*t;t=s;,则下列叙述中,正确的一项是( ) A.s数组和t指针变量完全相同 B.数组s中的内容和指针变量t中的内容相等 C.s数组长度和t所指向的字符串长度相等 D.*(++t)与s[1]相等 【答案】D 16.下列选项中,不能使指针指向一个字符串的选项是( ) A.char str[ ]= "string";char *ps;*ps=str; B.char str[ ]="string";char *ps;ps=str; C.char str[ ]="string",char *ps=str; D.char *ps;ps=str;ps="string" 【答案】A 17.设有定义和语句:char s[20]= "hunan!",*p;,则执行p=s;语句后,下列叙述中,正确的一项是( ) A.可以用*p表示s[0] B.s数组中元素的个数和p所指字符串长度相等 C.s和p都是指针变量 D.数组s中的内容和指针变量p中的内容相等 【答案】A 18.设有定义:char *str;,则下列选项中能够使得字符型指针str正确指向一个字符串的是( ) A.char str[ ]="string";c=str; B.scanf("%s",str); C.str=getchar( ); D.*str="string" 【答案】A 19.设有定义和语句:char str[ ]= "Hello!",*p;p=str;,此时*(p+5)中的值为( ) A. '\0' B. 'o' C.'o'的地址 D.不定值 【答案】A 20.执行以下程序段的输出结果是( ) main() {char s[ ]="Hunan"; printf("%c ",*s+2); getch();} A.H B.J C.I D.74 【答案】B 21.执行以下程序段的输出结果是( ) main() {char s[ ]="uvwxyz",*px; px=s; printf("%c ",*(px+5));getch();} A.0 B.z C.y D.122 【答案】B 22.执行以下程序段的输出结果是( ) main() {char s[10]="verygood",*ps=s; ps+=4; ps="name"; puts(s);getch();} A.name B.veryname C.namegood D.verygood 【答案】D 23.执行以下程序段的输出结果是( ) int disp(char *str) {while(*str) putchar(*str++); return *str;} main() {printf("%d ",disp("HUNAN"));getch();} A.HUNAN0 B.HUNANN C.HUNAN D.HUNAN\0 【答案】A 二、程序运行结果题(本题共7小题,每题3分,共21分) 24.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> void fun(char *p) {int i=0; while(p[i]) {if(p[i]==' '&&(p[i-1]>='a'&&p[i-1]<='z')) p[i-1]=p[i-1]-'a'+'A'; i++;}} main() {char s1[100]="ab cd EFG!"; fun(s1); printf("%s ",s1); getch();} 【答案】aB cD EFG! 25.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {char s1[ ]="programe",s2[ ]="Language"; char *p1=s1,*p2=s2; int k; for(k=0;k<8;k++) if(*(p1+k)==*(p2+k)) printf("%s ",(p1+k));getch();} 【答案】grame ame e 26.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> char fun(char *c) {if(*c<='Z'&&*c>='A') *c-='A'-'a'; return *c;} main() {char s[ ]="OPEN the DOOR",*p=s; while(*p) {*p=fun(p); putchar(*p); p++;} getch();} 【答案】open the door 27.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> #define SIZE 10 void sub(char*a,int tl,int t2); main( ) { char s[SIZE]; int i; for(i=0;i<SIZE;i++) s[i]='A'+i+32; sub(s,7,SIZE-1); for(i=0;i<SIZE;i++) printf("%c",s[i]); printf(" ");getch();} void sub(char *a,int tl,int t2) { char ch; while(tl<t2) { ch=*(a+tl); *(a+tl)=*(a+t2); *(a+t2)=ch; tl++;t2--;}} 【答案】abcdefgjih 28.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> void fun(char *a,char b) { while( *(a++)!='\0'); while(*(a-1)<b) *(a--)=*(a-1); *(a--)=b;} main( ) { char s[ ]="97531",c; c='6'; fun(s,c); puts(s); getch();} 【答案】976531 29.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> int fun(char *p,char *q) { int i; char *pl=p,*ql; for(i=0;*p!='\0';p++,i++) {p=pl+i; if(*p!=*q) continue; for(ql=q+1,p=p+1;*p!='\0'&&*ql!='\0';ql++,p++) if(*p!=*ql) break; if(*ql=='\0') return i;} return (-1);} main( ) { int a; char s[80]="abcdabcdef",t[80]="cde"; a=fun(s,t); printf("a=%d ",a);getch();} 【答案】a=6 30.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> void fun(char *s1,char*s2) { int j; char *s=s1; for( ;*s2!='\0';s2++) { for(j=0,s1=s;*s1!='\0';s1++) if(*s1!=*s2) { s[j]=*s1;j++;} s[j]='\0';}} main( ) {char al[ ]="ASDFGHJ",a2[ ]="AH"; fun(al,a2); puts(al);getch();} 【答案】SDFGJ 三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。每处3分,共9分) 31.下列程序的功能是:输入一行文字,找出其中的大写字母、小写字母、空格、数组及其他字符各有多少。程序中有三处错误,请改正。 #include <stdio.h> #include<conio.h> L1 main() L2 {int upper=0,lower=0,digit=0,space=0,other=0,i=0; L3 char *p,s[20]; L4 printf("input string: "); L5 while(s[i]=getchar()!=' ') L6 i++; L7 p=&s[0]; L8 while(p!=' ') L9 {if(('A'<=*p)&&(*p<='Z')) L10 ++upper; L11 else if(('a'<=*p)&&(*p<='z')) L12 ++lower; L13 else if(('9'<=*p)&&(*p<='0')) L14 ++digit; L15 else if(*p==' ') L16 ++space; L17 else ++other; L18 p++;} L19 printf("upper case:%d ",upper); L20 printf("lower case:%d ",lower); L21 printf("space case:%d ",space); L22 printf("digit case:%d ",digit); L23 printf("other case:%d ",other); L24 getch();} 答案: L5 while((s[i]=getchar())!=' ') L8 while(*p!=' ') L13 else if(('0'<=*p)&&(*p<='9')) 四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分) 32.下列程序的功能是,实现两个字符串的比较。请填空。 #include <stdio.h> #include<conio.h> main() {int i=0,m; char str1[20],str2[20],*p1,*p2; printf("input two string: "); scanf("%s",str1); scanf("%s",str2); p1=&str1[0]; p2=【1】; while(【2】) if(*(p1+i++)=='\0') m=0; if(m!=0) m=【3】; printf("result:%d ",m); getch();} 答案:①&str2[0] ②*(p1+i)==*(p2+i) ③(*(p1+i)-*(p2+i)) 33.以下程序的功能是:输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组中,统计一共有多少个整数,并输出这些数。请填空。 #include <stdio.h> #include<conio.h> main() {char str[50],*pstr; int i=0,j=0,k,m,x1,digit,ndigit=0,a[10],*pa; printf("input a string: "); gets(str); pstr=&str[0]; pa=&a[0]; while(*(pstr+i)!='\0') {if(【1】)j++; else { if(j>0) {digit=*(pstr+i-1)-48; k=1; while(k<j) {x1=1; for(m=1;m<=k;m++) x1=x1*10; digit=【2】; k++;} *pa=【3】; ndigit++; pa++; j=0;} }i++; } if(j>0) {digit=【4】; k=1; while(k<j) {x1=1; for(m=1;m<=k;m++) x1=x1*10; digit=digit+(*(pstr+i-1-k)-48)*x1; k++;} *pa=digit; ndigit++; j=0;} printf("there are %d numbers in this line,they are: ",ndigit); j=0; pa=&a[0]; for(j=0;j<ndigit;j++) printf("%d ",【5】); printf(" ");getch();} 答案:①(*(pstr+i)>='0')&&(*(pstr+i)<='9') ②digit+(*(pstr+i-1-k)-48)*x1 ③digit ④*(pstr+i-1)-48 ⑤*(pa+j) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

任务33:指向字符串的指针变量  《编程语言-C语言》45分钟专题训练-第1页
1
任务33:指向字符串的指针变量  《编程语言-C语言》45分钟专题训练-第2页
2
任务33:指向字符串的指针变量  《编程语言-C语言》45分钟专题训练-第3页
3

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。