C語言程序設(shè)計第10章字符串配套教材高等教育出版社清華大學(xué)出版社_第1頁
C語言程序設(shè)計第10章字符串配套教材高等教育出版社清華大學(xué)出版社_第2頁
C語言程序設(shè)計第10章字符串配套教材高等教育出版社清華大學(xué)出版社_第3頁
C語言程序設(shè)計第10章字符串配套教材高等教育出版社清華大學(xué)出版社_第4頁
C語言程序設(shè)計第10章字符串配套教材高等教育出版社清華大學(xué)出版社_第5頁
已閱讀5頁,還剩120頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第10章字符串2023/2/43:1510.1用一維字符數(shù)組存放字符串10.2

使指針指向一個字符串10.3

字符串的輸入和輸出10.4

字符串?dāng)?shù)組10.5

用于字符串處理的函數(shù)10.6

程序舉例2023/2/43:15用來存放字符數(shù)據(jù)的數(shù)組是字符數(shù)組字符數(shù)組中的一個元素存放一個字符定義字符數(shù)組的方法與定義數(shù)值型數(shù)組的方法類似10.1

用一維字符數(shù)組存放字符串2023/2/43:15charc[10];c[0]=’I’;c[1]=’’;c[2]=’a’;c[3]=’m’;c[4]=’’;c[5]=’h’;c[6]=’a’;c[7]=’p’;c[8]=’p’;c[9]=’y’;10.1用一維字符數(shù)組存放字符串Iam

happyc[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]2023/2/43:15charc[10]={’I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’};charc[10]={’c’,’’,’p’,’r’,’o’,’g’,’r’,’a’,’m’};10.1用一維字符數(shù)組存放字符串Iam

happyc[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]cprogram\0c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]2023/2/43:15#include<stdio.h>voidmain(){ charstr[10]={"Iamhappy"}; puts(str);}#include<stdio.h>voidmain(){ charstr[11]={"Iamhappy"}; puts(str);}2023/2/43:15以下敘述中正確的是A)語句inta[8]={0};是合法的B)語句inta[]={0};是不合法的,遺漏了數(shù)組的大小C)語句chara[2]={"A","B"};是合法的,定義了一個包含兩個字符的數(shù)組語句chara[3];a="AB";是合法的,因為數(shù)組有三個字符空間的容量,可以保存兩個字符參考答案:A【解析】B選項中,如給全部元素賦值,則在數(shù)組說明中,可以不給出數(shù)組元素的個數(shù);C選項中,chara[2]={"A","B"};不合法,應(yīng)為chara[2]={'A','B'};;D選項中,用字符串方式賦值比用字符逐個賦值要多占1個字節(jié),在該選項中應(yīng)為3個字節(jié)。因此A選項正確。2023/2/43:15設(shè)有如下程序段inta[8]={0};intb[]={0};charc[2]={"A","B"};chard="AB";以下敘述正確的是A)

只有a,b的定義是合法的B)a,b,c,d的定義都是合法的C)只有a,b,c的定義是合法的D)只有c的定義是合法的

參考答案:A2023/2/43:15以下選項中,沒有編譯錯誤的是A)charstr3[]={'d','e','b','u','g','\0'};B)charstr1[5]="pass",str2[6];str2=str1;C)charname[10];name="china";D)charstr4[];str4="helloworld";

參考答案:A【解析】B選項中,不能直接將字符數(shù)組名直接賦值給另一個字符數(shù)組名。C選項賦值錯誤,不能將一個字符串常量賦值給一個字符指針。D選項定義str4時需要定義其長度。2023/2/43:15以下敘述中正確的是A)在語句charstr[]="string!";中,數(shù)組str的大小等于字符串的長度B)語句charstr[10]="string!";和charstr[10]={"string!"};并不等價C)對于一維字符數(shù)組,不能使用字符串常量來賦初值D)對于字符串常量"string!",系統(tǒng)已自動在最后加入了'\0'字符,表示串結(jié)尾

參考答案:D【解析】字符串中的字符依次存儲在內(nèi)存中一塊連續(xù)的區(qū)域內(nèi),并且把空字符'\0'自動附加到字符串的尾部作為字符串的結(jié)束標(biāo)志。故字符個數(shù)為n的字符串在內(nèi)存中應(yīng)占(n+1)個字節(jié)。B選項中兩者等價,C選項中可以使用字符串常量來給一維字符數(shù)組賦值,就像B選項中一樣,A選項中數(shù)組長度比字符串長度小一個字節(jié),字符串中包含隱含的結(jié)尾符。2023/2/43:15有以下程序#include<stdio.h>main(){chars[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='a'&&s[i]<='z')n++;printf("%d\n",n);}程序運行后的輸出結(jié)果是A)0B)2C)3D)5參考答案:B【解析】程序首先給字符數(shù)組s[]賦值為"012xy",for循環(huán)語句的功能是遍歷字符串,通過if條件語句對字符串中的小寫字母計數(shù),在符串中小寫字母為2個,即n=2。因此B選項正確。2023/2/43:15有以下程序#include<stdio.h>main(){chars[]="abcde";s+=2;printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是A)輸出字符c的ASCII碼B)程序出錯C)輸出字符cD)輸出字符a的ASCII碼

參考答案:B【解析】本題重點考察數(shù)組名的概念。在C語言中,數(shù)組名類似于一個指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的s+=2;語句讓數(shù)組名s的內(nèi)容加2是錯誤的,編譯無法通過。因此B選項正確。2023/2/43:15若有以下程序#include<stdio.h>main(){inti,j=0;chara[]="Howareyou!";for(i=0;a[i];i++)if(a[i]!='')a[j++]=a[i];a[j]='\0';printf("%s\n",a);}則程序的輸出結(jié)果是A)Hay!B)HowareyouC)Howareyou!D)Howareyou!

參考答案:C【解析】主函數(shù)中首先定義字符數(shù)組a[]="Howareyou!";執(zhí)行for循環(huán)語句,語句if(a[i]!='')a[j++]=a[i];其功能是將字符數(shù)組中的空格去掉。因此C選項正確。2023/2/43:15例10.1輸出一個已知的字符串。解題思路:定義一個字符數(shù)組,并用“初始化列表”對其賦以初值用循環(huán)逐個輸出此字符數(shù)組中的字符10.1用一維字符數(shù)組存放字符串2023/2/43:15#include<stdio.h>intmain(){charc[15]={'I','','a','m','','a','','s','t','u','d','e','n','t','.'};inti;for(i=0;i<15;i++)printf("%c",c[i]);printf("\n");return0;}10.1用一維字符數(shù)組存放字符串2023/2/43:15在C語言中,是將字符串作為字符數(shù)組來處理的關(guān)心的是字符串的有效長度而不是字符數(shù)組的長度為了測定字符串的實際長度,C語言規(guī)定了字符串結(jié)束標(biāo)志’\0’10.1用一維字符數(shù)組存放字符串2023/2/43:15’\0’代表ASCII碼為0的字符從ASCII碼表可以查到,ASCII碼為0的字符不是一個可以顯示的字符,而是一個“空操作符”,即它什么也不做用它作為字符串結(jié)束標(biāo)志不會產(chǎn)生附加的操作或增加有效字符,只是一個供辨別的標(biāo)志10.1用一維字符數(shù)組存放字符串2023/2/43:15charc[]={”Iamhappy”};可寫成charc[]=”Iamhappy”;相當(dāng)于charc[11]={”Iamhappy”};10.1用一維字符數(shù)組存放字符串2023/2/43:15charc[10]={”China”};可寫成charc[10]=”China”;從c[5]開始,元素值均為\0只顯示printf(”%s”,c);10.1用一維字符數(shù)組存放字符串China\0\0\0\0\02023/2/43:15設(shè)有以下定義chars1[]="0123";chars2[]={'0','1','2','3'};則以下敘述正確的是A)

數(shù)組s1的長度大于s2的長度B)數(shù)組s1和s2的長度相同C)數(shù)組s1的長度小于s2的長度D)數(shù)組s1和s2完全等價參考答案:A【解析】在對數(shù)組進(jìn)行初始化時應(yīng)該注意,如果對數(shù)組的全部元素賦以初值,定義時可以不指定數(shù)組長度。為字符數(shù)組s1賦值字符串"0123"時,將字符串中字符依次放入數(shù)組中,然后在最后一個字符后添加一個結(jié)束字符'\0',所以數(shù)組s1長度為5。而數(shù)組s2根據(jù)初始化規(guī)則,只需要4個單元即可放下所有初始化值,故數(shù)組長度為4。所以數(shù)組s1的長度大于s2的長度,A選項正確。兩個數(shù)組等價是指兩個數(shù)組長度和類型以及對應(yīng)每個元素值均相同,所以s1和s2不是完全等價,D選項錯誤。2023/2/43:15以下敘述中正確的是A)字符串常量"str1"的類型是:字符串?dāng)?shù)據(jù)類型B)有定義語句:charstr1[]="str1";,數(shù)組str1將包含4個元素C)下面的語句用賦初值方式來定義字符串,其中,'\0'是必須的

charstr1[]={'s','t','r','1','\0'};字符數(shù)組的每個元素可存放一個字符,并且最后一個元素必須是'\0'字符參考答案:C【解析】本題考查字符數(shù)組的相關(guān)操作,B選項中數(shù)組str1包含了5個元素,其中有結(jié)尾符,A選項中str1的類型不是字符串類型,字符數(shù)組的最后一個元素可以不是'\0'字符2023/2/43:1510.2使指針指向一個字符串字符串是存放在字符數(shù)組中的。引用一個字符串,可以用以下兩種方法。(1)用字符數(shù)組存放一個字符串,可以通過數(shù)組名和格式聲明“%s”輸出該字符串,也可以通過數(shù)組名和下標(biāo)引用字符串中一個字符。(2)用字符指針變量指向一個字符串常量,通過字符指針變量引用字符串常量。2023/2/43:15

例10.2定義一個字符數(shù)組,在其中存放字符串“IloveChina!”,輸出該字符串和第8個字符。解題思路:定義字符數(shù)組string,對它初始化,由于在初始化時字符的個數(shù)是確定的,因此可不必指定數(shù)組的長度。用數(shù)組名string和輸出格式%s可以輸出整個字符串。用數(shù)組名和下標(biāo)可以引用任一數(shù)組元素。2023/2/43:15#include<stdio.h>intmain(){charstring[]=“IloveChina!”;printf(“%s\n”,string);printf(“%c\n”,string[7]);return0;}stringstring+72023/2/43:15

例10.3通過字符指針變量輸出一個字符串。

解題思路:可以不定義字符數(shù)組,只定義一個字符指針變量,用它指向字符串常量中的字符。通過字符指針變量輸出該字符串。2023/2/43:15#include<stdio.h>intmain(){char*string=“IloveChina!”;printf(“%s\n”,string);return0;}stringchar*string;string=”IloveChina!”;2023/2/43:15#include<stdio.h>intmain(){char*string=“IloveChina!”;printf(“%s\n”,string);

string=”Iamastudent.”;printf(“%s\n”,string);return0;}string2023/2/43:15#include<stdio.h>intmain(){char*string=“IloveChina!”;printf(“%s\n”,string);

string=”Iamastudent.”;printf(“%s\n”,string);return0;}string2023/2/43:15

例10.4將字符串a(chǎn)復(fù)制為字符串b,然后輸出字符串b。解題思路:定義兩個字符數(shù)組a和b,用“Iamastudent.”對a數(shù)組初始化。將a數(shù)組中的字符逐個復(fù)制到b數(shù)組中。可以用不同的方法引用并輸出字符數(shù)組元素,今用地址法算出各元素的值。2023/2/43:15#include<stdio.h>intmain(){chara[]=“Iamastudent.”,b[20];inti;for(i=0;*(a+i)!='\0';i++)*(b+i)=*(a+i);

*(b+i)=‘\0’;printf(“stringais:%s\n”,a);printf("stringbis:");for(i=0;b[i]!='\0';i++)printf(“%c”,b[i]);printf("\n");return0;}printf("stringbis:%s\n“,b);2023/2/43:15例10.5用指針變量來處理例10.4問題。解題思路:定義兩個指針變量p1和p2,分別指向字符數(shù)組a和b。改變指針變量p1和p2的值,使它們順序指向數(shù)組中的各元素,進(jìn)行對應(yīng)元素的復(fù)制。2023/2/43:15#include<stdio.h>intmain(){chara[]="Iamaboy.",b[20],*p1,*p2;p1=a;p2=b;for(;*p1!=‘\0’;p1++,p2++)*p2=*p1;

*p2=‘\0’;printf(“stringais:%s\n”,a);printf(“stringbis:%s\n”,b);return0;}2023/2/43:152023/2/43:15改為:char*cp,str[10];cp=str;scanf(“%s”,cp);()例charstr[10];scanf(“%s”,str);()

而char*cp;scanf(“%s”,cp);()現(xiàn)定義char*cp;與charstr[20];則str由若干元素組成,每個元素放一個字符;而cp中存放字符串首地址。對于定義charstr[20];以后,再進(jìn)行str=“IloveChina!”;這樣的賦值操作就是錯誤的。但如果是定義char*cp;而后在進(jìn)行cp=“IloveChina!”;的賦值操作就是正確的。因為str是地址常量,不可以被賦值;cp是地址變量,可以被賦值。**注意cp接受鍵入字符串時,必須先開辟存儲空間,如圖所示。10.2使指針指向一個字符串如果想把一個字符串從一個函數(shù)“傳遞”到另一個函數(shù),可以用地址傳遞的辦法,即用字符數(shù)組名作參數(shù),也可以用字符指針變量作參數(shù)。在被調(diào)用的函數(shù)中可以改變字符串的內(nèi)容在主調(diào)函數(shù)中可以引用改變后的字符串。2023/2/43:1510.2使指針指向一個字符串例10.6用函數(shù)調(diào)用實現(xiàn)字符串的復(fù)制。解題思路:定義一個函數(shù)copy_string用來實現(xiàn)字符串復(fù)制的功能,在主函數(shù)中調(diào)用此函數(shù),函數(shù)的形參和實參可以分別用字符數(shù)組名或字符指針變量。分別編程,以供分析比較。2023/2/43:15(1)用字符數(shù)組名作為函數(shù)參數(shù)#include<stdio.h>intmain(){voidcopy_string(charfrom[],charto[]);chara[]="Iamateacher.";charb[]="youareastudent.";printf(“a=%s\nb=%s\n",a,b);printf("copystringatostringb:\n");copy_string(a,b);printf(“a=%s\nb=%s\n",a,b);return0;}2023/2/43:15voidcopy_string(charfrom[],charto[])

{inti=0;while(from[i]!='\0'){to[i]=from[i];i++;}to[i]='\0';}2023/2/43:15(2)用字符型指針變量作實參copy_string不變,在main函數(shù)中定義字符指針變量from和to,分別指向兩個字符數(shù)組a,b。僅需要修改主函數(shù)代碼2023/2/43:15#include<stdio.h>intmain(){voidcopy_string(charfrom[],charto[]);chara[]=“Iamateacher.”;charb[]=“youareastudent.”;char*from=a,*to=b;

printf(“a=%s\nb=%s\n",a,b);printf("\ncopystringatostringb:\n");copy_string(from,to);printf(“a=%s\nb=%s\n",a,b);return0;}2023/2/43:15(3)用字符指針變量作形參和實參2023/2/43:15#include<stdio.h>intmain(){voidcopy_string(char*from,char*to);char*a=“Iamateacher.”;charb[]=“Youareastudent.”;char*p=b;printf(“a=%s\nb=%s\n”,a,b);printf("\ncopystringatostringb:\n");copy_string(a,p);printf(“a=%s\nb=%s\n”,a,b);return0;}2023/2/43:15voidcopy_string(char*from,char*to){for(;*from!='\0';from++,to++){*to=*from;}*to='\0';}函數(shù)體有多種簡化寫法,請見主教材

2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(1)字符數(shù)組由若干個元素組成,每個元素中放一個字符,而字符指針變量中存放的是地址(字符串第1個字符的地址),決不是將字符串放到字符指針變量中。2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(2)賦值方式??梢詫ψ址羔樧兞抠x值,但不能對數(shù)組名賦值。char*a;a=”IloveChina!”;對charstr[14];str[0]=’I’;對charstr[14];str=”IloveChina!”;錯2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(3)初始化的含義char*a=”IloveChina!”;與char*a;a=”IloveChina!”;等價2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(3)初始化的含義charstr[14]=”IloveChina!”;與charstr[14];str[]=”IloveChina!”;不等價2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(4)存儲單元的內(nèi)容

編譯時為字符數(shù)組分配若干存儲單元,以存放各元素的值,而對字符指針變量,只分配一個存儲單元2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(4)存儲單元的內(nèi)容char*a;scnaf(“%s”,a);錯

char*a,str[10];a=str;scanf(“%s”,a);對2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(5)指針變量的值是可以改變的,而數(shù)組名代表一個固定的值(數(shù)組首元素的地址),不能改變。2023/2/43:15例10.7改變指針變量的值。#include<stdio.h>intmain(){char*a="IloveChina!";a=a+7;printf(“%s\n”,a);return0;}不能改為chara[]=“IloveChina!”;2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(6)字符數(shù)組中各元素的值是可以改變的,但字符指針變量指向的字符串常量中的內(nèi)容是不可以被取代的。chara[]=”House”,*b=”House”;a[2]=’r’;對2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(6)字符數(shù)組中各元素的值是可以改變的,但字符指針變量指向的字符串常量中的內(nèi)容是不可以被取代的。chara[]=”House”,*b=”House”;b[2]=’r’;錯2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(7)引用數(shù)組元數(shù)

對字符數(shù)組可以用下標(biāo)法和地址法引用數(shù)組元素(a[5],*(a+5))。如果字符指針變量p=a,則也可以用指針變量帶下標(biāo)的形式和地址法引用(p[5],*(p+5))。2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。char*a=″IloveChina!″;則a[5]的值是第6個字符,即字母’e’2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。(8)用指針變量指向一個格式字符串,可以用它代替printf函數(shù)中的格式字符串。2023/2/43:15使用字符指針變量和字符數(shù)組的比較用字符數(shù)組和字符指針變量都能實現(xiàn)字符串的存儲和運算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點。char*format;format=”a=%d,b=%f\n”;printf(format,a,b);相當(dāng)于printf(“a=%d,b=%f\n”,a,b);2023/2/43:15有下列函數(shù), voidfun(char*a,char*b) {while((*b=*a)!='\0') {a++;b++;}}其功能是()

A

將a所指字符串賦給b所指空間 B使指針b指向a所指字符串 C將a所指字符串和b所指字符串進(jìn)行比較 D檢查a和b所指字符串中是否有'\0' 參考答案:A【解析】While循環(huán)條件為:(*b=*a)!='\0',執(zhí)行時先把指針a所指向的字符賦給指針b所在內(nèi)存單元,如果該字符不是結(jié)束標(biāo)識"\0",執(zhí)行循環(huán)體a++;b++;,指針a、b分別指向下一個字符單元。再判斷循環(huán)條件,如果成立,繼續(xù)把指針a所指向的字符賦給指針b所在內(nèi)存單元,直到遇到結(jié)束標(biāo)識為止。因此A選項正確。2023/2/43:15有以下函數(shù): intfun(char*s) {char*t=s; while(*t++); return(t-s);}該函數(shù)的功能是()

A計算s所指字符串的長度 B比較兩個字符串的大小 C計算s所指字符串占用內(nèi)存字節(jié)的個數(shù) D將s所指字符串復(fù)制到字符串t中 參考答案:A【解析】首先char*s接受一個字符型數(shù)組的首地址并將這個首地址賦給另一個字符型指針char*t,while(*t++)不斷循環(huán)直到*t為'\0',再將

t+1,這時字符指針t指向字符串的最后一個字符,又因為s指向字符數(shù)組的首地址即字符串的首地址所以

return(t-s)便是返回字符數(shù)組中字符串的長度。2023/2/43:15有以下程序 #include<stdio.h> charfun(char*c) {if(*c<='Z'&&*c>='A') *c-='A'-'a'; return*c;}

若運行時從鍵盤上輸入OPENTHEDOOR<回車>,程序的輸出結(jié)果是() AOPENTHEDOOR BoPENtHEdOOR

Copenthedoor DOpenTheDoor

參考答案:C【解析】字符串輸入函數(shù)gets的功能是從標(biāo)準(zhǔn)輸入設(shè)備鍵盤上輸入一個字符串。首先使指針變量p指向字符串的首字母,while循環(huán)語句中對字符串的每個字符進(jìn)行fun函數(shù)操作。fun函數(shù)的功能是,將字符串中的大寫字母變小寫字母。將處理結(jié)果返回主函數(shù),主函數(shù)通過putchar()字符輸出函數(shù)進(jìn)行輸出。因此C選項正確。 main() {chars[81],*p=s; gets(s); while(*p) {*p=fun(p); putchar(*p); p++;} printf("\n");}2023/2/43:15字符數(shù)組的輸入輸出可以有兩種方法:

逐個字符輸入輸出(%c)

整個字符串一次輸入輸出(%s)輸出的字符中不包括結(jié)束符’\0’用%s輸出字符串時,printf函數(shù)中的輸出項是字符數(shù)組名,不是數(shù)組元素名10.3字符串的輸入輸出2023/2/43:15如果一個字符數(shù)組中包含多個’\0’,則遇第一個’\0’時輸出就結(jié)束可以用scanf函數(shù)輸入一個字符串scanf函數(shù)中的輸入項c是已定義的字符數(shù)組名,輸入的字符串應(yīng)短于已定義的字符數(shù)組的長度10.3字符串的輸入輸出2023/2/43:15charc[6];scanf(”%s”,c);China↙系統(tǒng)自動在China后面加一個’\0’10.3字符串的輸入輸出2023/2/43:15charstr1[5],str2[5],str3[5];scanf(”%s%s%s”,str1,str2,str3);Howareyou?↙10.3字符串的輸入輸出How\0\0str1are\0\0str2you?\0str32023/2/43:15有如下程序#include<stdio.h>main(){charname[10]={'S','T','R','I','N','G'};name[3]='E';name[5]=0;printf("%s\n",name);}程序運行后的輸出結(jié)果是A)STRENB)STRIEGC)STRENGD)STREN0

參考答案:A【解析】printf函數(shù)按照格式符說明輸出對應(yīng)的數(shù)據(jù)。%s控制符用于輸出字符串,輸出時從給定地址開始依次輸出字符,直到遇到'\0'結(jié)束。給字符變量賦值0,相當(dāng)于賦值'\0'。初始化時name="STRING",改動數(shù)組第4個和第6個元素之后字符串變?yōu)?STREN"。調(diào)用printf輸出字符串為STREN,A選項正確。2023/2/43:15在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù),使用方便10.3字符串的輸入輸出2023/2/43:151.puts函數(shù)----輸出字符串的函數(shù)其一般形式為:puts(字符數(shù)組)作用是將一個字符串輸出到終端charstr[20]=”China”;puts(str);

輸出China10.3字符串的輸入輸出2023/2/43:15若有以下程序

charw[20],a[5][10]={"abcdef","ghijkl","mnopq","rstuv","wxyz"};intp[6][2]={{0,1},{1,5},{0,0},{0,2},{1,4},{4,4}},i;for(i=0;i<6;i++)w[i]=a[p[i][0]][p[i][1]];puts(w);

則程序的輸出結(jié)果是A)catisB)ababjC)ckbdlD)black

參考答案:D【解析】程序首先初始化字符數(shù)組a[5][10]和二維數(shù)組p[6][2]。執(zhí)行for循環(huán)語句,循環(huán)變量i從0取值到5,得到字符數(shù)組w[]的值,并通過字符串輸出函數(shù)puts進(jìn)行輸出操作。w[0]=a[0][1]、w[1]=a[1][5]、w[2]=a[0][0]、w[3]=a[0][2]、w[4]=a[1][4]、w[5]=a[4][4];因此最后字符數(shù)組w的結(jié)果為black。因此D選項正確。2023/2/43:15有以下程序#include<stdio.h>main(){chara[5][10]={"one","two","three","four","five"};inti,j;chart;for(i=0;i<2;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]){

t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}

程序運行后的輸出結(jié)果是A)owoB)

fwoC)twoD)fix參考答案:B【解析】考查二維數(shù)組元素的引用。當(dāng)i為0時,代碼處理結(jié)果為第一個字符串的第一個字符與第四個字符串的第一個字符調(diào)換,當(dāng)i為1時,代碼處理結(jié)果為第而個字符串的第一個字符與第五個字符串的第一個字符調(diào)換,所以a[1]為fwo2023/2/43:152.gets函數(shù)----輸入字符串的函數(shù)其一般形式為:gets(字符數(shù)組)作用是輸入一個字符串到字符數(shù)組charstr[20];gets(str);

Computer↙10.3字符串的輸入輸出2023/2/43:15若有以下程序

{chara[20],b[]="Theskyisblue.";inti;for(i=0;i<7;i++)scanf("%c",&b[i]);gets(a);printf("%s%s\n",a,b);}執(zhí)行時若輸入:(其中<Enter>表示回車符)Figflowerisred.<Enter>則輸出結(jié)果是A)werisred.Figfloisblue.B)werisred.FigfloC)werisred.Theskyisblue.Figflowerisred.Theskyisblue.

參考答案:A【解析】程序首先初始化字符數(shù)組b[],執(zhí)行for循環(huán)語句,循環(huán)變量i的取值范圍從0到6?在for循環(huán)語句中通過scanf函數(shù)將從鍵盤上輸入的數(shù)據(jù)輸入到b[]中,即b的值為Figfloisblue.?退出for循環(huán)語句,執(zhí)行語句gets(a);,gets()函數(shù)的調(diào)用形式為:gets(str_adr),其中str_adr是存放輸入字符串的起始地址,可以是字符數(shù)組名?字符數(shù)組元素的地址或字符指針變量?gets函數(shù)用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個換行符為止,即a的值為werisred.?因此A選項正確?2023/2/43:153.strcat函數(shù)----字符串連接函數(shù)其一般形式為:strcat(字符數(shù)組1,字符數(shù)組2)其作用是把兩個字符串連接起來,把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中10.3字符串的輸入輸出使用字符串函數(shù)時,在程序開頭用#include<string.h>2023/2/43:15chardiamond[5][5]={{’’,’’,’*’},{’’,’*’,’’,’*’},{’*’,’’,’’,’’,’*’},{’’,’*’,’’,’*’},{’’,’’,’*’}};10.4字符串?dāng)?shù)組2023/2/43:15例10.8輸出一個菱形圖。解題思路:定義一個字符型的二維數(shù)組,用“初始化列表”進(jìn)行初始化用嵌套的for循環(huán)輸出字符數(shù)組中的所有元素。10.4字符串?dāng)?shù)組2023/2/43:15#include<stdio.h>intmain(){chardiamond[][5]={{'','','*'},{'','*','','*'},{'*','','','','*'},{'','*','','*'},{'','','*'}};inti,j;for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%c",diamond[i][j]);printf("\n");}return0;}2023/2/43:15以下敘述中正確的是A)字符串?dāng)?shù)組,是指數(shù)組中的每個元素都是一個存放字符串的一維數(shù)組B)charca[3][5]={"A","BB","CCC"};是不合語法的C)charca[][5]={"A","BB","CCC"};是不合語法的D)char*ca[3]={"A","BB","CCC"};是不合語法的

參考答案:A【解析】本題考查字符串?dāng)?shù)組的相關(guān)知識,選項B、C、D都是合語法的。2023/2/43:151.strcat函數(shù)----字符串連接函數(shù)charstr1[30]=”People”;charstr2[]=”China”;printf(”%s”,strcat(str1,str2));

輸出:PeopleChina10.5用于字符串處理的函數(shù)要足夠大2023/2/43:152.strcpy和strncpy函數(shù)-字符串復(fù)制strcpy一般形式為:strcpy(字符數(shù)組1,字符串2)作用是將字符串2復(fù)制到字符數(shù)組1中去charstr1[10],str2[]=”China”;strcpy(str1,str2);10.5用于字符串處理的函數(shù)China\0\0\0\0\0str12023/2/43:15有以下程序(strcat函數(shù)用以連接兩個字符串)#include<stdio.h>#include<string.h>main(){chara[20]="ABCD\0EFG\0",b[]="IJK";strcat(a,b);printf("%s\n",a);}程序運行后的輸出結(jié)果是A)IJKB)ABCDE\0FG\0IJKC)ABCDIJKD)EFGIJK參考答案:C【解析】字符數(shù)組a中包含兩個'\0',遇到第一個'\0'時就表示字符串a(chǎn)結(jié)束。字符串處理函數(shù)strcat(字符數(shù)組a,字符數(shù)組b),功能是連接兩個字符數(shù)組中的字符串,把字符串b連接到a的后面,結(jié)果放在字符數(shù)組a中。連接時將字符串a(chǎn)后的'\0'取消,只在新串最后保留一個'\0'。本題相當(dāng)于將"ABCD"和"IJK"連接。因此C選項正確。2023/2/43:152.strcpy和strncpy函數(shù)-字符串復(fù)制strcpy一般形式為:strcpy(字符數(shù)組1,字符串2)作用是將字符串2復(fù)制到字符數(shù)組1中去charstr1[10],str2[]=”China”;strcpy(str1,str2);10.5用于字符串處理的函數(shù)China\0\0\0\0\0str1要足夠大2023/2/43:152.strcpy和strncpy函數(shù)-字符串復(fù)制strcpy一般形式為:strcpy(字符數(shù)組1,字符串2)作用是將字符串2復(fù)制到字符數(shù)組1中去charstr1[10],str2[]=”China”;strcpy(str1,str2);10.5用于字符串處理的函數(shù)數(shù)組名形式2023/2/43:152.strcpy和strncpy函數(shù)-字符串復(fù)制strcpy一般形式為:strcpy(字符數(shù)組1,字符串2)作用是將字符串2復(fù)制到字符數(shù)組1中去charstr1[10],str2[]=”China”;strcpy(str1,str2);10.5用于字符串處理的函數(shù)數(shù)組名或字符串常量2023/2/43:152.strcpy和strncpy函數(shù)-字符串復(fù)制strcpy一般形式為:strcpy(字符數(shù)組1,字符串2)作用是將字符串2復(fù)制到字符數(shù)組1中去charstr1[10],str2[]=”China”;strcpy(str1,str2);相當(dāng)于strcpy(str1,”China”);10.5用于字符串處理的函數(shù)2023/2/43:152.strcpy和strncpy函數(shù)-字符串復(fù)制charstr1[10],str2[]=”China”;str1=”China”;錯誤str1=str2;錯誤10.5用于字符串處理的函數(shù)2023/2/43:152.strcpy和strncpy函數(shù)-字符串復(fù)制可以用strncpy函數(shù)將字符串2中前面n個字符復(fù)制到字符數(shù)組1中去strncpy(str1,str2,2);作用是將str2中最前面2個字符復(fù)制到str1中,取代str1中原有的最前面2個字符復(fù)制的字符個數(shù)n不應(yīng)多于str1中原有的字符10.5用于字符串處理的函數(shù)2023/2/43:153.strcmp函數(shù)----字符串比較函數(shù)其一般形式為strcmp(字符串1,字符串2)作用是比較字符串1和字符串2strcmp(str1,str2);strcmp(”China”,”Korea”);strcmp(str1,”Beijing”);10.5用于字符串處理的函數(shù)2023/2/43:153.strcmp函數(shù)----字符串比較函數(shù)字符串比較的規(guī)則是:將兩個字符串自左至右逐個字符相比,直到出現(xiàn)不同的字符或遇到’\0’為止如全部字符相同,認(rèn)為兩個字符串相等若出現(xiàn)不相同的字符,則以第一對不相同的字符的比較結(jié)果為準(zhǔn)10.5用于字符串處理的函數(shù)2023/2/43:153.strcmp函數(shù)----字符串比較函數(shù)”A”<”B””a”>”A””computer”>”compare””these”>”that””1A”>”$20””CHINA”>”CANADA””DOG”<”cat””Tsinghua”>”TSINGHUA”10.5用于字符串處理的函數(shù)2023/2/43:153.strcmp函數(shù)----字符串比較函數(shù)比較的結(jié)果由函數(shù)值帶回如果字符串1=字符串2,則函數(shù)值為0如果字符串1>字符串2,則函數(shù)值為一個正整數(shù)如果字符串1<字符串2,則函數(shù)值為一個負(fù)整數(shù)10.5用于字符串處理的函數(shù)2023/2/43:153.strcmp函數(shù)----字符串比較函數(shù)if(str1>str2)printf(”yes”);錯誤if(strcmp(str1,str2)>0)printf(”yes”);正確10.5用于字符串處理的函數(shù)2023/2/43:154.strlen函數(shù)----測字符串長度的函數(shù)其一般形式為:strlen(字符數(shù)組)它是測試字符串長度的函數(shù)函數(shù)的值為字符串中的實際長度10.5用于字符串處理的函數(shù)2023/2/43:154.strlen函數(shù)----測字符串長度的函數(shù)charstr[10]=”China”;printf(”%d”,strlen(str));輸出結(jié)果是5也可以直接測試字符串常量的長度strlen(”China”);10.5用于字符串處理的函數(shù)2023/2/43:15若有定義語句:chars[10]="1234567\0\0";則strlen(s)的值是A)7B)8C)910

參考答案:A【解析】strlen()函數(shù):是計算字符串長度時,遇到結(jié)束標(biāo)識為止,且長度不包括結(jié)束標(biāo)識。本題中字符串,從第一個字符開始,遇到第一個結(jié)束標(biāo)識'\0'為止,注意'\0'不占字符串長度,所以字符串長度為7。因此A選項正確。2023/2/43:15有以下程序#include<stdio.h>#include<string.h>

main(){charstr[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}程序運行后的輸出結(jié)果是A)6B)7C)11D)12

參考答案:A【解析】數(shù)組初始化時,如果在說明數(shù)組時給出了長度,但沒有給所有的元素賦予初始值,而只依次給前面的幾個數(shù)組元素賦予初值,那么C語言將自動對余下的元素賦初值,如果為字符數(shù)組,自動賦值"\0",即str[12]={'s','t','r','i','n','g',"\0","\0","\0","\0","\0","\0"}。strlen函數(shù)求字符串長度,統(tǒng)計長度時以"\0"結(jié)束,即統(tǒng)計到長度為6時結(jié)束,strlen函數(shù)返回值為6,A選項正確。2023/2/43:15若有定義語句:charstr1[]="string",str2[8],*str3,str4[10]="string";,庫函數(shù)strcpy的功能是復(fù)制字符串,以下選項中錯誤的函數(shù)調(diào)用是()

Astrcpy(str3,"HELLO!")

Bstrcpy(str2,"HELLO!") Cstrcpy(str1,"HELLO!") Dstrcpy(str4,"HELLO!")

參考答案:A【解析】題目中字符指針str3,沒有為指針開辟內(nèi)存,能作為函數(shù)參數(shù),選擇A選項。2023/2/43:155.strlwr函數(shù)----轉(zhuǎn)換為小寫的函數(shù)其一般形式為strlwr(字符串)函數(shù)的作用是將字符串中大寫字母換成小寫字母10.5用于字符串處理的函數(shù)2023/2/43:156.strupr函數(shù)----轉(zhuǎn)換為大寫的函數(shù)其一般形式為strupr(字符串)函數(shù)的作用是將字符串中小寫字母換成大寫字母10.5用于字符串處理的函數(shù)2023/2/43:15有以下程序#include<stdio.h>#include<string.h>main(){charp[20]={'a','b','c','d'},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),q);printf("%d\n",strlen(p));}程序運行后的輸出結(jié)果是A)11

B)9C)

6

D)7

參考答案:C【解析】strcpy:字符串拷貝函數(shù);strlen:求字符串長度函數(shù)(注意:不包含字符串結(jié)束標(biāo)記字符'\0');strcat:字符串連接函數(shù)。執(zhí)行完語句strcat(p,r);后,p數(shù)組中存儲的元素為a,b,c,d,a,b,c,d,e;執(zhí)行語句strcpy(p+strlen(q),q);得到的結(jié)果是將q所指向的字符串拷貝至p+strlen(q)開始的存儲位置,因為strlen的值為3,即p+3開始存儲q中的元素。所以執(zhí)行完strcpy(p+strlen(q),q)語句后,字符數(shù)組p[20]的存儲元素為a,b,c,a,b,c;所以strlen(p)的結(jié)果為6。因此C選項正確。2023/2/43:15若有說明和語句:charstr[]="Hello",*p;p=str;,則此時*(p+5)中的值為()

A'\0' B'o' C'o'的地址 D不確定的值

參考答案:A【解析】定義字符數(shù)組并為其初始化,str數(shù)組前5個元素為Hello,第六個元素自動賦值為"\0"。定義指針使等于字符串首地址,p+5指向字符串第六個元素。A選項正確。2023/2/43:15若有以下程序段 charstr[4][12]={"aa","bbb","ccccc","d"},*strp[4]; inti; for(i=0;i<4;i++)strp[i]=str[i];不能正確引用字符串的選項是() Astr[0] Bstrp Cstrp[3] D*strp

參考答案:B【解析】本題考查字符串指針作為函數(shù)參數(shù),本題中p作為字符串指針傳入fun中,p指向的內(nèi)容并沒有發(fā)生變化,所以選項B正確。2023/2/43:15設(shè)有如下程序段 #include<stdio.h> chars[20]="Beijing",*p; p=s;則執(zhí)行p=s;語句后,以下敘述正確的是() As和p都是指針變量 Bs數(shù)組中元素的個數(shù)和p所指字符串長度相等

C可以用*p表示s[0]

D數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同

參考答案:C【解析】程序定義了字符數(shù)組s和字符型指針變量p,并且使得p指向數(shù)組,執(zhí)行p=s;語句后,*p即表示s[0];s數(shù)組中元素的個數(shù)和p所指字符串長度不相等,因為s數(shù)組中元素的個數(shù)包括字符串結(jié)束標(biāo)志"\0",而p所指字符串長度不包括"\0";s是字符型數(shù)組,p是指針變量;數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容不相同,數(shù)組中存放的是字符串,而指針變量p存放的是數(shù)組的首地址。因此C選項正確。2023/2/43:15有以下程序 #include<stdio.h> #include<string.h> voidfun(char*w,intm) {chars,*p1,*p2; p1=w;p2=w+m-1; while(p1<p2) {s=*p1;*p1=*p2;*p2=s; p1++;p2--;} } main() {chara[]="123456"; fun(a,strlen(a)); puts(a);}程序運行后的輸出結(jié)果是() A123456 B116611 C161616 D654321

參考答案:D【解析】主函數(shù)中調(diào)用fun(a,6)后,指針p1指向字符串中的"1"、p2指向字符串中的"6"。While循環(huán)中,只要p1<p2,則把p1、p2所指向的字符互換,同時p1前移,p2后移。最終字符串逆序存放。因此D選項正確。2023/2/43:15有以下程序(說明:字母A的ASCII碼值是65) #include<stdio.h> voidfun(char*s) {while(*s) {if(*s%2)printf("%c",*s); s++; } } main() {chara[]="BYTE"; fun(a); printf("\n");}程序運行后的輸出結(jié)果是() ABT BYE CYT DBY

參考答案:B【解析】本題中執(zhí)行funA時,會取a的第一個字母B,因為B的ASCII碼為66,所以不會輸出B,函數(shù)只會輸出ASCII碼為奇數(shù)的字母,Y的ASCII碼為89,T的ASCII碼為84,E的ASCII碼為69。因此B選項正確。2023/2/43:15有以下程序 #include<stdio.h> intfun(chars[]) {intn=0; while(*s<='9'&&*s>='0'){n=10*n+*s-'0';s++;} return(n);} main() {chars[10]={'6','1','*','4','*','9','*','0','*'}; printf("%d\n",fun(s));}程序的運行結(jié)果是() A5 B9

C61 D61490 參考答案:C【解析】在fun函數(shù)中,while循環(huán)的功能是:逐個取字符數(shù)組s的字符判斷其是否是數(shù)字。若是則將其作為個位數(shù)字保存到變量n中,n的原數(shù)據(jù)的各個數(shù)位將相應(yīng)左移一個10進(jìn)制位。當(dāng)指針s指向數(shù)組的第3位時,循環(huán)條件不成立,循環(huán)結(jié)束,返回n的值,輸出n的值為61。因此C選項正確。2023/2/43:15有如下程序 #include<stdio.h> intdisp(char*str) {while(*str)putchar(*str++); return*str;} main() {printf("%d\n",disp("NAME"));}程序運行后的輸出結(jié)果是()

ANAME0 BNAMEE CNAME DNAME\0

參考答案:A【解析】程序執(zhí)行過程為:調(diào)用函數(shù)disp,將字符串"NAME"首地址傳給指針str,在while循環(huán)中,依次判斷字符串中字符是否為'\0',不是'\0'則輸出字符,否則結(jié)束循環(huán)。當(dāng)(*str)='\0'時,結(jié)束循環(huán),返回字符'\0'的ASCII碼0,并輸出。程序運行后的輸出結(jié)果是:NAME0,A選項正確。2023/2/43:15有以下程序 #include<stdio.h> main() {charc[2][5]={"6934","8254"},*p[2]; inti,j,s=0; for(i=0;i<2;i++)p[i]=c[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>0&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);}程序的輸出結(jié)果是() A693825 B69825 C63825 D6385 參考答案:D【解析】本題的意圖在于將c中兩個字符串的偶數(shù)位置的數(shù)字組成一個新數(shù),找到的四個數(shù)字分別為6、3、8、5,組成的數(shù)為6385,所以答案為D選項。2023/2/43:15有以下程序 #include<stdio.h> voidfun1(char*p) {char*q; q=p; while(*q!='\0') {(*q)++; q++;} } main() {chara[]={"Program"},*p; p=&a[3]; fun1(p); printf("%s\n",a);}程序執(zhí)行后的輸出結(jié)果是() APrphsbn BProhsbn CProgsbn DProgram

參考答案:B【解析】(*q)++是q所指的字符加1,q++就是指針移到下一個字符。因此B選項正確。2023/2/43:15有如下程序 #include<stdio.h> main() {inti,*ptr; intarray[5]={5,3,1}; for(ptr=array,i=0;i<5;i++,ptr++) {if(*ptr==0)putchar('X');

elseputchar('A'+*ptr);} printf("\n");}程序運行后的輸出結(jié)果是()

AFDBXX BFFFXX CFDBBB DABCDE 參考答案:A【解析】array={5,3,1,0,0}。程序執(zhí)行過程為:執(zhí)行for循環(huán),將數(shù)組首地址賦給指針ptr,依次遍歷每一個元素,如果數(shù)組元素為0則輸出'X',如果不為0則按照字母表輸出字符'A'后第array[i]個字符。程序運行后的輸出結(jié)果為:FDBXX,A選項正確。2023/2/43:15以下不能將鍵盤輸入的字符串:Thisisastring<回車>讀入到str中的程序段是()A

charstr[80];scanf("%s",str);Bcharstr[80];inti=0;while((str[i++]=getchar())!='\n');str[i]=0;Ccharstr[80];gets(str);Dcharstr[80],*ps=str;do{scanf("%c",ps);}while(*ps++!='\n');*(ps)=0;

參考答案:A【解析】在使用scanf函數(shù)時要注意,在輸入數(shù)據(jù)時,遇到空格,或按"回車"鍵或按"跳格"(Tab)鍵時該數(shù)據(jù)認(rèn)為結(jié)束。A選項中輸入This后有一個空格,認(rèn)為數(shù)據(jù)輸入結(jié)束,以后的數(shù)據(jù)不能再讀入到str中,故選擇A選項。B選項用getchar讀入字符,鍵盤輸入的所有字符均被認(rèn)為是有效字符讀入,用while循環(huán)控制讀入,當(dāng)讀入字符為回車時結(jié)束讀入,字符串被正確的讀入到str中。C選項用gets函數(shù)讀入字符串,它讀入鍵盤輸入的所有字符,遇到回車自動結(jié)束讀入,所以也能正確讀入字符串到str中。D選項用do…while和指針循環(huán)控制字符輸入,依次判斷輸入字符是否為回車,若不是回車放入字符數(shù)組中,直到讀入回車符,結(jié)束循環(huán),數(shù)組str中正確存放入指定的字符串。2023/2/43:15以下不能將s所指字符串正確復(fù)制到t所指存儲空間的是()

Ado{*t++=*s++;}while(*s); Bfor(i=0;t[i]=s[i];i++); Cwhile(*t=*s){t++;s++} Dfor(i=0,j=0;t[i++]=s[j++];);

參考答案:A【解析】do{*t++=*s++;}while(*s);不能因為當(dāng)*s='\0'時,while(*s)跳出循環(huán),這樣字符串結(jié)束標(biāo)志'\0'沒有復(fù)制給*t,造成*t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進(jìn)行t=t+1,s=s+1。B,C,D都能將'\0'復(fù)制過去。2023/2/43:15設(shè)有定義語句: char*aa[2]={"abcd","ABCD"};則以下敘述正確的是()

Aaa[0]存放了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論