c語言中輸出字元串
❶ c語言中怎麼輸出字元串中的某個字元
錯誤在於你判斷了第一個非@字元時就已經輸出沒有字元@退出循環了所以不會檢測@了。改成下面就行了:
#include
#include
int
main()
{
char
sh[100],n=0;
gets(sh);
for(int
i=0;sh[i];i
)
if(sh[i]=='@')
n
;
if(n==0)
printf("沒有字元
@\n");
else
printf("有字元
@\n");
}
❷ C語言:字元串輸入與輸出
#include
<stdio.h>
int
main()
{
char
str1[21]
=
{0},
str2[21]
=
{0},
str3[21]
=
{0};
//
getchar實現
printf("請輸入一個長度不超過20的字元串(getchar實現):");
int
c
=
0,
i
=
0;
while
((c
=
getchar())
!=
'\n')
{
str1[i++]
=
c;
}
//
scanf實現
printf("請輸入一個長度不超過20的字元串(scanf實現):");
scanf("%s",
str2);
getchar();
//
取走緩沖區的換行符
//
gets實現
printf("請輸入一個長度不超過20的字元串(gets實現):");
gets(str3);
//
putchar輸出
printf("putchar輸出:");
i
=
0;
while
(str1[i]
!=
'\0')
{
putchar(str1[i++]);
}
//
printf輸出
printf("\nprintf輸出:");
printf("%s\n",
str2);
//
puts輸出
printf("puts輸出:");
puts(str3);
printf("\n");
return
0;
}
問題答案:
1.
getchar可以根據用戶自定義的字元結束輸入,不受換行符和空白字元的限制
2.
scanf不能輸入空格,另外兩個可以
3.
在保證數據不會超出內存范圍的情況下,用gets和puts最方便
不存在空白字元的情況下,用scanf最方便
如果既有空白字元,又可能越界的情況下,getchar最方便
❸ C語言上中怎麼樣直接輸入輸出一個字元串
C語言中字元串的輸入和輸出主要有兩種方式:
輸入使用:scanf("%s",a);對應的輸出使用:printf("%s ",a);
輸入使用:gets(b);對應的輸出使用:puts(b);
❹ c語言字元串數組怎麼輸入和輸出呢
在C語言中,有兩個函數可以在控制台(顯示器)上輸出字元串,它們分別是:
puts():輸出字元串並自動換行,該函數只能輸出字元串。
printf():通過格式控制符%s輸出字元串,不能自動換行。除了字元串,printf() 還能輸出其他類型的數據。
這兩個函數相信大家已經非常熟悉了,這里不妨再演示一下,請看下面的代碼:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通過字元串名字輸出
printf("%s ", "http://c.biancheng.net"); //直接輸出
puts(str); //通過字元串名字輸出
puts("http://c.biancheng.net"); //直接輸出
return 0;
}
運行結果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,輸出字元串時只需要給出名字,不能帶後邊的[ ],例如,下面的兩種寫法都是錯誤的:
printf("%s ", str[]);
puts(str[10]);
(4)c語言中輸出字元串擴展閱讀:
由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。
❺ C語言輸入輸出字元串
在C語言中,輸入輸出字元串有以下兩種方式:
1
用scanf/printf輸入輸出。
scanf/printf是C語言的格式化輸入輸出函數,可以用於輸入輸出各種基礎類型,字元串(char*)也在其支持范圍內。
格式化字元為%s。
定義
char
str[100];
輸入
scanf("%s",str);
輸出
printf("%s",str);
2
C語言還支持專門的字元串輸入輸出函數:gets/puts。
gets的作用為,讀入一行輸入,並將讀到的換行符替換為字元串結束符。
puts的作用為,將字元串單行輸出,即輸出字元串內容後,會自動在結尾增加換行。
定義
char
str[100];
輸入
gets(str);
輸出
puts(str);
❻ C語言printf函數中,%C和%s都可以輸出字元串
這句話是不對的,因為%c只能夠輸出單個字元,%s表示的是輸出字元串,所以說這句話是錯誤的。
printf()函數是式樣化輸出函數, 一般用於向准則輸出設備按規定式樣輸出消息。正在編寫步驟時經常會用到此函數。printf()函數的挪用式樣為:printf(「<式樣化字元串>」,<參數表>);。
其中式樣化字元串包括兩部分內容:一部分是正常字元,這些字元將按原樣輸出;另一部分是式樣化規定字元。以「%」開端,後跟一個或幾個規定字元,用來確定輸出內容式樣。
(6)c語言中輸出字元串擴展閱讀:
printf函數注意:
函數printf從右到左壓棧,然後將先讀取放到棧底,最後讀取的放在棧頂,處理時候是從棧頂開始的,所以我們看見的結果是,從右邊開始處理的。
格式:
1、可以在「%」和字母之間插進數字表示最大場寬。
例如:%3d表示輸出3位整型數,不夠3位右對齊。
%9.2f表示輸出場寬為9的浮點數,其中小數位為2,整數位為6。
小數點佔一位,不夠9位右對齊。
%8s表示輸出8個字元的字元串,不夠8個字元右對齊。
如果字元串的長度、或整型數位數超過說明的場寬,將按其實際長度輸出。
但對浮點數,若整數部分位數超過了說明的整數位寬度,將按實際整數位輸出。
若小數部分位數超過了說明的小數位寬度,則按說明的寬度以四捨五入輸出。
另外,若想在輸出值前加一些0,就應在場寬項前加個0。
例如:%04d表示在輸出一個小於4位的數值時,將在前面補0使其總寬度為4位。
如果用非浮點數表示字元或整型量的輸出格式,小數點後的數字代表最大寬度,
小數點前的數字代表最小寬度。
例如:%6.9s表示顯示一個長度不小於6且不大於9的字元串。若大於9,則第9個字元以後的內容將被刪除。
2、可以在「%」和字母之間加小寫字母l,表示輸出的是長型數。
例如:%ld表示輸出long整數
%lf表示輸出double浮點數
3、可以控制輸出左對齊或右對齊,即在「%」和字母之間加入一個「-」號可說明輸出為左對齊, 否則為右對齊。
參考資料來源:網路-printf
❼ c語言中如何輸入輸出字元串
在<string.h>頭文件中用字元串處理函數輸入和輸出,gest用來輸入,puts用來輸出。
字元串輸入函數gets,從鍵盤鍵入以回車結束的字元串放入字元數組中,並自動加』 '。輸入串長度應小於字元數組維數,字元串中可以包含空格。
字元串輸出函數puts,向顯示器輸出字元串(輸出完,自動換行,即用' '替'