當前位置:首頁 » 編程語言 » c語言中輸出的字元串大於列數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中輸出的字元串大於列數

發布時間: 2022-06-13 09:28:26

c語言中如何輸入輸出字元串

在<string.h>頭文件中用字元串處理函數輸入和輸出,gest用來輸入,puts用來輸出。

字元串輸入函數gets,從鍵盤鍵入以回車結束的字元串放入字元數組中,並自動加』'。輸入串長度應小於字元數組維數,字元串中可以包含空格。

字元串輸出函數puts,向顯示器輸出字元串(輸出完,自動換行,即用' '替'')。字元數組必須以''結束。

示例代碼如下:

#include<string.h>

int main()

{

char str[40];

printf("請輸入字元串");

gets(str);

printf("請輸出字元串");

puts(str);

system("pause");

return 0;

}

(1)c語言中輸出的字元串大於列數擴展閱讀

在C中,對文件的操作分為兩種方式,即流式文件操作和I/O文件操作。

流式文件操作,這種方式的文件操作有一個重要的結構FILE,FILE在頭文件stdio.h中定義如下:

typedef struct {

int level; /* fill/empty level of buffer */

unsigned flags; /* File status flags */

char fd; /* File descriptor */

unsigned char hold; /* Ungetc char if no buffer */

int bsize; /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp; /* Current active pointer */

unsigned istemp; /* Temporary file indicator */

short token; /* Used for validity checking */

} FILE; /* This is the FILE object */

直接I/O文件操作,這是C提供的另一種文件操作,它是通過直接存/取文件來完成對文件的處理,此類文件操作常用的函數及其所用的一些符號在io.h和 fcntl.h中定義,在使用時要加入相應的頭文件。

❷ C語言問題

在C語言中,要求運算數必須是整型的運算符是( D)
A./ B.++ C.!= D.%
A. B. C. D.

12
表達式18/4*sqrt(4.0)/8值的數據類型為( A)
A.int B.float C.double D.不確定
A. B. C. D.

13
已知x=43,ch='A',y=0,則表達式(x>=y&&ch<'B'&&!y)的值是( C)。
A.0 B.語法錯 C.1 D."假"
A. B. C. D.

14
以下敘述正確的是( D)
A.在C程序中,每行中只能寫一條語句
B.若a是實型變數,C程序中允許賦值a=10,因此實型變數中允許存放整型數
C.在C程序中,無論是整數還是實數,都能被准確無誤地表示
D.在C程序中,%是只能用於整數運算的運算符
A. B. C. D.

15
下列說法中,正確的是( C)
A.C程序中,main()函數必須位於程序的最前面
B.C程序的每行只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.C程序中,注釋說明只能位於一條語句的後面
A. B. C. D.

16
已有如下定義和輸入語句:
int a1,a2;
char c1,c2;
scanf("%d%d %c %c",&a1, &a2, &c1,&c2);
若要求a1,a2,cl,c2的值分別為10,20,A和B,當從第一列開始輸入數據時,不正確的數據輸入方式是(A)(註:<CR>表示回車)
A.l020 AB<CR> C.10 20 <CR>A B<CR>
B.10 20 AB<CR> D.l0 20 A B<CR>
A. B. C. D.

17
已有定義int a=-2;和輸出語句printf("%8lx",a);以下正確的敘述是( D)
A.整型變數的輸出格式符只有%d一種
B.%x是格式符的一種,它可以適用於任何一種類型的數據
C.%x是格式符的一種,其變數的值按十六進制輸出,但%81x是錯誤的
D.%8lx不是錯誤的格式符,其中數字8規定了輸出欄位的寬度
A. B. C. D.

18
printf函數中用到格式符%5s,其中數字5表示輸出的字元串佔用5列。如果字元串長度大於5,則( B)
A.從左起輸出該字元串,右補空格 B.按原字元長從左向右全部輸出
C.右對齊輸出該字元串,左補空格 D.輸出錯誤信息
A. B. C. D.

19
以下能正確地定義整型變數a、b和c,並為其賦初值5的語句是(A )
A.int a,b,c; a=b=c=5; B.int a,b,c=5;
C.a=5,b=5,c=5; D.a=b=c=5;
A. B. C. D.

20
下列說法中,正確的是(C )
A.C程序中,main()函數必須位於程序的最前面
B.C程序的每行只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.C程序中,注釋說明只能位於一條語句的後面
A. B. C. D.

❸ C語言中%-15s%3d是什麼意思

15: 輸出的字元串所佔的列數,如果源字元串的字元個數大於等於該數(這里是15)則忽略該數字,也即源字元串佔多少列(多少個字元)就輸出多個列。
-: 輸出的字元串左對齊,省略的時候是右對齊。也在字元個數小於它後而的數字(這里是15)時才起作用。
以你的例子來說:%-15s
如果你要輸出的字元串的字元個數只有10個,則輸出的時候會在字元串的後面加上5個空格,以補足15列;如果是沒帶「-」號的,則在左邊補5個空格。
後面的%3d意思一樣,只是換成了數字。

❹ C語言輸入輸出字元串

ch【5】緩沖區過短,導致溢出,ch【5】中只存了 你輸入的前5個字元,限定輸入用scanf(「%5s」,ch)就行了,這樣ch中就是就是存的你數入的前5個字元,至於char ch;錯誤是因為格式化錯誤,即%s和ch不匹配,char ch【】在c語言中是不成立的,數組必須是定長的。

❺ 為什麼c語言中字元串輸入的長度會超過我定義的字元數組

因為你輸入的本來就超過了
C語言中的字元串是不會給你做邊界檢查的,說白了char a[3] 這種只是說「假設」a字元串不超過2個字元(最後一個要給\0) , 但實際上你即使超限了,他也不會管你,但他會影響到(例如覆蓋)其他的數據,也有可能出現運行時錯誤

❻ c語言中,用一維數組存放字元串,當所賦初值的字元個數大於數組元素個數時會怎麼樣

在tc2.0運行時沒有問題的,由於c語言是不檢查數組下標的,所以編譯時時不會出現編譯錯誤的。但是你的運行結果時肯定有問題的。因為你讀數據的時候肯定是按照一維數組的大小去讀數據的,越界了讀數據時會出現錯誤。
你可以在tc2.0上去運行這個程序,編譯時沒有問題的。
void main()
{
char a[5];
char *str="welcome to china.";
int i;
int j=0;
for(i=0;i<strlen(str);i++)
{
a[j++]=str[i];
}
}

❼ 請問c語言中用字元數組怎麼判斷輸入的一串數字是大於等於或者小於0呢

既然是「字元數組」,那麼它的元素就都是「字元」,即char類型。「字元」只用了char類型數域的一半即0~127,所以它們都是大於等於0的,不可能有小於0的數。

❽ C語言字元串超過數組長度怎麼辦,如代碼,%s不怎麼熟悉,為什麼會原樣顯示,不是應該顯示10個嘛

雖然越界了 但是還沒有其他程序用到這塊越界的內存 所有沒有問題
可以用 scanf("%9s",a) 來限定需要獲取的長度,9代表獲取9個位元組
這樣就不會出現越界問題了

❾ 在C語言中字元串的大小怎麼比較啊

1、C語言中字元是使用char來定義的,使用關系運算符(>,<,=)即可對字元進行比較。

❿ C語言怎麼用printf輸出字元串。

void main()

{

unsigned char *x = "ab,sdf,sad,23432,cc";

data = x;

printf("data = %c ", *data);

printf("data = %s ", data);

system("pause");

}

(10)c語言中輸出的字元串大於列數擴展閱讀:

printf輸出字元串的一些格式

1、原樣輸出字元串:printf("%s", str);

2、輸出指定長度的字元串, 超長時不截斷, 不足時右對齊:printf("%Ns", str);

註:N 為指定長度的10進制數值

3、輸出指定長度的字元串, 超長時不截斷, 不足時左對齊:printf("%-Ns", str);

註:N 為指定長度的10進制數值

4、輸出指定長度的字元串, 超長時截斷, 不足時右對齊:printf("%N.Ms", str);

註:N 為最終的字元串輸出長度

M 為從參數字元串中取出的子串長度

5、輸出指定長度的字元串, 超長時截斷, 不足時左對齊是:printf("%-N.Ms", str);

註:N 為最終的字元串輸出長度

M 為從參數字元串中取出的子串長度

參考資料來源:printf-網路