scanf不指定分割符號(hào)時(shí),默認(rèn)以空格、回車、制表符(tab),作為分割符號(hào),可間隔多個(gè)分割符號(hào)。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、連云港ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的連云港網(wǎng)站制作公司
至于你最后打印的c,那是換行符對(duì)應(yīng)的ascii碼,因?yàn)槟阕詈筝斎氲淖址腔剀嚒?/p>
#include?stdio.h
#include?string.h
int?main(void)
{
char?str[100],?spl[10],?*p;
fputs("請(qǐng)輸入字符串?:?",?stdout);
gets(str);
fputs("請(qǐng)輸入分割符?:?",?stdout);
gets(spl);
p?=?strtok(str,?spl);
while?(p?!=?NULL)
{
puts(p);
p?=?strtok(NULL,?spl);
}
return?0;
}
C/C++中的Split函數(shù)是strtok()其函數(shù)原型如下:
char * strtok (char * str, const char * delimiters);
函數(shù)說明
strtok()用來將字符串分割成一個(gè)個(gè)片段。參數(shù)str指向欲分割的字符串,參數(shù)delimiters則為分割字符串,當(dāng)strtok()在參數(shù)str的字符串中發(fā)現(xiàn)到參數(shù)delimiters的分割字符時(shí)則會(huì)將該字符改為'\0'字符。在第一次調(diào)用時(shí),strtok()必需給予參數(shù)str字符串,往后的調(diào)用則將參數(shù)str設(shè)置成NULL。每次調(diào)用成功則返回下一個(gè)分割后的字符串指針。
返回值
返回下一個(gè)分割后的字符串指針,如果已無從分割則返回NULL。
示例-1
/* strtok example */
#include stdio.h
#include string.h
int main ()
{
char str[] ="a,b,c,d*e";
const char * split = ",";
char * p;
p = strtok (str,split);
while(p!=NULL) {
printf ("%s\n",p);
p = strtok(NULL,split);
}
getchar();
return 0;
}
本例中,實(shí)現(xiàn)對(duì)字符串'a,b,c,d*e"用逗號(hào)(,)來作界定符對(duì)字符串進(jìn)行分割。
輸出結(jié)果將如下所示:
a
b
c
d*e
因?yàn)閐elimiters支持多個(gè)分割符, 我們將本示例中的語句行
const char * split = ",";
改成 const char * split = ",*"; //用逗號(hào)(,)和星號(hào)(*)對(duì)字符串進(jìn)行分割
這樣輸出結(jié)果將如下所示:
a
b
c
d
e
#include?stdio.h
#include?string.h
//?將str字符以spl分割,存于dst中,并返回子字符串?dāng)?shù)量
int?split(char?dst[][80],?char*?str,?const?char*?spl)
{
int?n?=?0;
char?*result?=?NULL;
result?=?strtok(str,?spl);
while(?result?!=?NULL?)
{
strcpy(dst[n++],?result);
result?=?strtok(NULL,?spl);
}
return?n;
}
int?main()
{
char?str[]?=?"what?is?you?name?";
char?dst[10][80];
int?cnt?=?split(dst,?str,?"?");
for?(int?i?=?0;?i??cnt;?i++)
puts(dst[i]);
return?0;
}
有空格、逗號(hào)、空白符、分號(hào)和冒號(hào),后半句自然輸入項(xiàng)的缺省分隔符,意思就是說當(dāng)你編譯運(yùn)行后,進(jìn)行輸入時(shí),后臺(tái)默認(rèn)為空格為分隔符,例如:輸入46則為一個(gè)數(shù)據(jù),輸入4 6則為兩個(gè)數(shù)據(jù),望采納,謝謝
分隔符:將表格轉(zhuǎn)換為文本時(shí),用分隔符標(biāo)識(shí)文字分隔的位置,或在將文本轉(zhuǎn)換為表格時(shí),用其標(biāo)識(shí)新行或新列的起始位置。 在word2003中,可以在插入分隔符打開分隔符的窗口。 分隔符下有以下的選項(xiàng): 分隔符類型 分頁符(P) 分欄符(C) 換行符(W) 分節(jié)符類型 下一頁(N) 連續(xù)(T) 偶數(shù)頁(E) 奇數(shù)頁(O) 說明 分頁符 在插入點(diǎn)處插入手動(dòng)分頁符。 分欄符 在插入點(diǎn)處插入手動(dòng)分欄符。 換行符 結(jié)束當(dāng)前行,并強(qiáng)制文字在圖片、表格或其他項(xiàng)目的下方繼續(xù)。文字將在下一個(gè)空行(且該空行不包含與左邊距或右邊距對(duì)齊的表格)上繼續(xù)。 下一頁 插入分節(jié)符并分頁,下一節(jié)從下一頁頂端開始。 連續(xù) 插入分節(jié)符并開始新節(jié),不插入分頁符。 偶數(shù)頁 插入分節(jié)符并在下一偶數(shù)頁開始下一節(jié)。如果分節(jié)符落入偶數(shù)頁,則 Word 將下一奇數(shù)頁留為空白。 奇數(shù)頁 插入分節(jié)符并在下一奇數(shù)頁開始下一節(jié)。如果分節(jié)符落入奇數(shù)頁,則 Word 將下一偶數(shù)頁留為空白。