這個(gè)scanf寫(xiě)法錯(cuò)了嗎
- 教育綜合
- 2023-04-25 07:57:05
scanf("%f/n,&f”)是不是正確表達(dá)形式?
/n是不合法的字符,會(huì)導(dǎo)致編譯錯(cuò)誤。
換行符是\n。
而且后面引號(hào)的位置也錯(cuò)了。
正確的寫(xiě)法是:
scanf("%f\n",&f)
補(bǔ)充:
在C語(yǔ)言中,使用scanf函數(shù)輸入浮點(diǎn)數(shù)時(shí),應(yīng)使用格式字符%f。例如:
floatf;
scanf("%f",&f);
如果你希望在輸入浮點(diǎn)數(shù)之后跳過(guò)輸入緩沖區(qū)中多余的字符,可以在格式字符串中加入換行符\n。例如:
floatf;
scanf("%f\n",&f);
這樣,在輸入浮點(diǎn)數(shù)之后,scanf函數(shù)會(huì)跳過(guò)輸入緩沖區(qū)中剩余的所有字符,直到遇到換行符為止。
scanf("%s",&a);這個(gè)寫(xiě)法對(duì)嗎?
字符數(shù)組定義為int?你這是把int數(shù)組格式為字符輸入輸出。。。 這個(gè)寫(xiě)法也可以,a數(shù)組在編譯器里還是要轉(zhuǎn)換成指針進(jìn)行運(yùn)算,結(jié)果跟&a一樣,&a是在a的地址里寫(xiě)入數(shù)值,這樣編譯器便省去了轉(zhuǎn)換這一步電腦編程中的c語(yǔ)言 scanf(%f,&Radius); 是什么意思 怎么寫(xiě)成的
你寫(xiě)錯(cuò)了,應(yīng)該是scanf("%f",&Radius);意思是輸入一個(gè)浮點(diǎn)型(實(shí)型)數(shù)據(jù)給變量Radius。其中%f是指輸入浮點(diǎn)型數(shù)據(jù), ﹠是取地址符,將輸入的數(shù)據(jù)保存在變量Radius的地址。c語(yǔ)言問(wèn)題 scanf()不加&問(wèn)題
是scanf("%f\n",&fSalary)和scanf("%d\n",&iNum)兩條語(yǔ)句格式化輸入中“\n”造成的。 預(yù)備知識(shí):(1)scanf()函數(shù)接收輸入數(shù)據(jù)時(shí),遇回車鍵,開(kāi)始從鍵盤(pán)緩沖區(qū)讀輸入字符(這個(gè)回車符不被讀入,并留在緩沖區(qū)中),并按格式化輸入指定條件,賦給相應(yīng)變量;讀入字符時(shí),有非空字符(空字符如:空格、“回車”、“跳格”)開(kāi)始數(shù)據(jù)項(xiàng)輸入,遇空字符結(jié)束一個(gè)數(shù)據(jù)項(xiàng)輸入;(2)當(dāng)格式中包含字符,但在輸入時(shí)必須輸入這些字符; ?。。。∵@就導(dǎo)致,當(dāng)用戶在格式輸入中指定了\n時(shí),直接輸入回車并不起作用,因?yàn)樗鼤?huì)被當(dāng)成空白被跳過(guò)。只有當(dāng)回車后面有有效字符,這個(gè)\n才會(huì)被匹配?。。?!c語(yǔ)言問(wèn)題 scanf()不加&問(wèn)題
這種寫(xiě)法是錯(cuò)誤的,scanf的調(diào)用格式為: scanf("<格式化字符串>",<地址表>); 第二個(gè)參數(shù)是地址,要用取地址符& 如果a是一個(gè)數(shù)組,那么數(shù)組名本身(a)就代表了數(shù)組a的首地址,這本身就是一個(gè)地址了 但q是一個(gè)char型的變量,不是數(shù)組,因此要用&q取q的地址展開(kāi)全文閱讀