c語(yǔ)言逗號(hào)運(yùn)算符舉例 C語(yǔ)言輸入幾個(gè)數(shù)據(jù)時(shí),要求有逗號(hào),就比如要輸入a?
C語(yǔ)言輸入幾個(gè)數(shù)據(jù)時(shí),要求有逗號(hào),就比如要輸入a?Scanf(%D,%D,%D“,&A,&B,&AmpC)//在格式字符串中添加逗號(hào)分隔。這樣,輸入的數(shù)據(jù)格式要求是:10,11,12,好的
C語(yǔ)言輸入幾個(gè)數(shù)據(jù)時(shí),要求有逗號(hào),就比如要輸入a?
Scanf(%D,%D,%D“,&A,&B,&AmpC)//在格式字符串中添加逗號(hào)分隔。這樣,輸入的數(shù)據(jù)格式要求是:10,11,12
,好的,但是輸入數(shù)據(jù)時(shí)還必須加逗號(hào)。當(dāng)使用scanf()讀取數(shù)據(jù)時(shí),輸入格式必須與scanf()的格式控制字符串相對(duì)應(yīng),例如:
1。Scanf(%D,%D“,&A,&B)由于兩個(gè)%D之間有逗號(hào),輸入時(shí)兩個(gè)整數(shù)只能用逗號(hào)分隔。如果使用其他符號(hào)分隔整數(shù),則會(huì)發(fā)生錯(cuò)誤(例如,如果使用空格和回車分隔整數(shù))
c語(yǔ)言scanf輸入時(shí)為什么不能用逗號(hào)隔開?
1如果Scanf用于格式化輸入,逗號(hào)分隔不適用于先輸入字符串再輸入數(shù)字的情況,只適用于數(shù)字的間隔,或者先輸入數(shù)字,然后輸入字符串。以下是先輸入數(shù)字,然后輸入字符串的示例:#include<stdio。H>int main(){char s[100]int vscanf(%D,%s“,&aMPV,s)//首先輸入整數(shù)變量V,然后輸入字符串,可以用逗號(hào)分隔。Printf(%sn%dn“,s,V)//輸出變量,每行一個(gè)值。返回0}如果您輸入:123,ABC將輸出:abc123,但是如果您首先輸入一個(gè)字符串,然后輸入一個(gè)數(shù)字,例如scanf(%s,%d”,s,&aMPV);格式,系統(tǒng)將出錯(cuò)。2如果要求先輸入字符串,然后輸入數(shù)字,則必須手動(dòng)判斷。其思想是使用getchar逐個(gè)讀入字符,并將值賦給字符串的相應(yīng)位置。當(dāng)逗號(hào)出現(xiàn)時(shí),它就結(jié)束了。然后用scanf讀入數(shù)字。代碼如下:#include<stdio。H>int main(){char s[100]int VINT I=0while(1){s[I]=getchar()//逐個(gè)輸入字符并將其分配給字符串。如果(s[i]=“,”)//輸入結(jié)束。{s[i]=“0”//賦值結(jié)束。中斷//退出循環(huán)。}一} scanf(%d“,&aMPV)//繼續(xù)輸入數(shù)字。Printf(%sn%dn“,s,V)//輸出變量,每行一個(gè)值。返回0}以上程序輸入:dao,123輸出哦,dao,123
C語(yǔ)言輸入兩個(gè)用空格或逗號(hào)分隔的數(shù)字主要取決于您在編寫程序時(shí)的scanf語(yǔ)句。具體區(qū)別如下:
1。用scanf(%D、%D”、&A、&B)語(yǔ)句輸入:輸入數(shù)據(jù)時(shí),需要在兩個(gè)數(shù)據(jù)之間加“,”,如“500600”。
2. 使用scanf(%d%d”、&A、&B)語(yǔ)句輸入:輸入數(shù)據(jù)時(shí),數(shù)據(jù)不能用逗號(hào)分隔,只能用空格字符(空格或制表符鍵或回車鍵)分隔,如“500(空格)600”或“500(制表符)600”或“500(回車)600”。如果在擴(kuò)展數(shù)據(jù)中輸入字符數(shù)據(jù)(%C)時(shí),格式控制字符串中沒有非格式字符,則可以將所有字符視為有效字符。例如:1。使用scanf(%C%C“,&A,&B,&AmpC)語(yǔ)句進(jìn)行輸入:當(dāng)輸入為D E F時(shí),程序?qū)閍分配“D”,為B分配“space”,為C分配“E”。此時(shí),為了確保程序的正確運(yùn)行,我們需要在輸入數(shù)據(jù)時(shí)連續(xù)輸入def(字符之間沒有空格)。2使用scanf(%C%C“,&A,&B,&AmpC)語(yǔ)句進(jìn)行輸入:此時(shí),可以在輸入數(shù)據(jù)之間添加空格,例如d e F。