本文目錄一覽:
- 1、C語言。為什麼我定義6個長度的數組,只輸入了5個字符也可以得到輸出結果。要是輸入5個以下字符就得不
- 2、C語言帝請進!這個程序本來就只要輸入4個數,但是運行的時候要輸入5個才運行呢?
- 3、請問C語言中scanf函數里的%5c 的意思是不是用來輸出5個字符?
- 4、定義的字符串數長度為五,為什麼可以輸入六七個字符?
- 5、C語言,為什麼輸出字符的時候會多幾個字符?
C語言。為什麼我定義6個長度的數組,只輸入了5個字符也可以得到輸出結果。要是輸入5個以下字符就得不
孩子啊,你看看循環,循環要循環六次啊,你不輸入五個字符加一個回車鍵(剛好六個),那麼是無法跳出循環的,後面的語句也就無法執行哦~
望採納!么么噠!
C語言帝請進!這個程序本來就只要輸入4個數,但是運行的時候要輸入5個才運行呢?
scanf(“%d%d”,block_length,block_width);
scanf(“%d%d”,house_length,house_width);
這兩句這麼改就行了,把\n去掉。
請問C語言中scanf函數里的%5c 的意思是不是用來輸出5個字符?
確實是5個字符,但這個字符是空白符,通常這是作用是用來對齊的,%5c,那麼前面4個為空格,第5個為你轉義的字符,%-5c則相反,第一個為你轉義的字符,後4個為空白符。這種同樣適用%5d,%-5d等,例如%5d,輸出的數為123,則前面2個為空格加123;若輸出的數為12345,則就輸出12345,保持原樣
定義的字符串數長度為五,為什麼可以輸入六七個字符?
發生了內存溢出,C語言不檢查是否內存溢出,使用上要格外小心。多輸入的字符存儲在緊鄰的棧上,在c[5]後面的存儲位置,如果後面有其他變量,那其他變量會被覆蓋。
C語言,為什麼輸出字符的時候會多幾個字符?
\0不是讀入的,是程序自動加上的,表示一個串或一個行讀取完成的結束位置,你只需要處理\0之前的數據,到\0就不要繼續處理了。這個結束符總要佔用一個位元組的內存位置.
對於二進制文件用fread讀取,就不需要為這個\0預留位置了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/240368.html