當前位置:首頁 » 編程語言 » c語言中輸入語句中的逗號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中輸入語句中的逗號

發布時間: 2022-03-06 23:38:03

A. c語言輸入字元串和數字時如何用逗號隔開

1 如果使用scanf進行格式化輸入,用逗號隔開不適用於先輸入字元串後輸入數字的情況,僅適用於數字的間隔,或者先輸入數字後輸入字元串。

下面是先輸入數字後輸入字元串的例子:

#include<stdio.h>
intmain()
{
chars[100];
intv;

scanf("%d,%s",&v,s);//先輸入整型變數v,再輸入字元串,可以使用逗號分隔。
printf("%s %d ",s,v);//輸出得到的變數,每行一個值。

return0;
}

如果輸入:

123,abc

會輸出:

abc

123

但是如果先輸入字元串再輸入數字,比如用scanf("%s,%d",s,&v);的格式,系統會出錯。


2 如果需求必須是先輸入字元串後輸入數字,那麼必須人工進行判斷。

思路為用getchar逐個讀入字元,並賦值到字元串對應位置,當出現逗號時結束。然後再用scanf讀入數字。

代碼如下:

#include<stdio.h>
intmain()
{
chars[100];
intv;
inti=0;

while(1)
{
s[i]=getchar();//逐個輸入字元並賦值到字元串中。
if(s[i]==',')//輸入結束。
{
s[i]='';//賦值結束符。
break;//退出循環。
}
i++;
}
scanf("%d",&v);//繼續輸入數字。
printf("%s %d ",s,v);//輸出得到的變數,每行一個值。

return0;
}

以上程序輸入:

abcd,123

輸出哦

abcd

123

B. C語言輸入時逗號和空格的區別

scanf("%d%d",&a,&b); 兩個%d間沒有任何字元時,輸入數據可以用空格、回車、TAB鍵進行分隔。

如果寫成 scanf("%d,%d",&a,&b); 或scanf("%d/%d",&a,&b); 或scanf("%d+%d",&a,&b);等樣子,兩個%d間有具體的字元或字元串時,則就要嚴格用這個分隔信息進行數據分隔才可以!

C. C語言中如何輸入一行字元,如果遇到空格、逗號或者句號,替換成*輸出

#include <stdio.h>
int main()
{
char str[100];
scanf("%[^\n]", str);
char* p = str;
while (*p)
{
if (*p == ' ' || *p == ',' || *p == '.')
*p = '*';
p++;
}
printf("%s", str);
}

D. C語言逗號的作用

C語言提供一種特殊放入運算符----逗號運算符表達式1,表達式2逗號表達式的求解過程是:先求表達式1,再求表達式2.整個逗號表達式的值是表達式2的值,如表達式「3+5,6+8」的值為14。又如,逗號表達式:「a=3*5,a*4」,賦值運算符的優先順序別高於逗號運算符,因此應先求解a=3*5.經計算和賦值後得到a的值為15,然後求解a*4,得60.整個逗號表達式的值為60.逗號表達式的一般形式可以擴展為表達式1,表達式2,表達式3,。。。表達式n。它的值為表達式n的值逗號運算符是所有運算符中級別最低的。

E. C語言逗號問題

printf("Pleaseinputabc:");
scanf("%d%d%d",&a,&b,&c);//用空格隔開三個數

F. 這個C語言中的類試逗號的符號如何打出啊

這個就是逗號, 英文狀態的半形逗號。
如果不一樣,那就是字體的問題了,C語言代碼中沒有其它很另類的符號的。

G. C語言怎麼在輸入的兩個數據之間加逗號

加了逗號,就是在輸入時,兩個數之間加逗號

~

H. c語言scanf輸入時為什麼不能用逗號隔開

c語言scanf輸入時能用逗號隔開,但是輸入數據的時候一定也要加上逗號。用scanf()讀取數據時,輸入的格式必須和scanf()的格式控制字元串對應。

對於標准輸入函數scanf來說,括弧內的格式字元串,也就是由" "中的部分,除了%引導的格式字元之外,所有的其他字元必須在輸入數據時原樣原位置輸入。例如:

scaf("%d,%d",&a,&b);

兩個%d之間的逗號就是普通字元,它必須在你輸入a和b的值的時候,也輸入到ab之間。輸入如下:

5,6

如果不輸入逗號,或者輸入空格,輸入均不會正確。



(8)c語言中輸入語句中的逗號擴展閱讀:

scanf函數返回成功讀入的數據項數,讀入數據時遇到了「文件結束」則返回EOF。

如:scanf("%d%d",&a,&b);

函數返回值為int型。如果a和b都被成功讀入,那麼scanf的返回值就是2;

如果只有a被成功讀入,返回值為1;

如果a和b都未被成功讀入,返回值為0;

如果遇到錯誤或遇到end of file,返回值為EOF。end of file為Ctrl+z 或者Ctrl+d。

I. 關於c語言的scanf函數的逗號問題!!

對於scanf()函數,如果格式控制串里有逗號(或其他非格式符號),鍵盤輸入時,必須嚴格按照控制串的內容鍵入,不能隨意輸入。如scanf("a=%d,b=%d",&a,&b);響應輸入是a=xx,b=xx(xx是整形數)。scanf()函數還有一個特點較為常用,該函數會將白字元(空格、<Tab>、<Enter>)作為數據間的分隔符,比如scanf("%d%s%d",&a,str,&b);,響應輸入是:12asder33435,此後,12賦給a,"asder334"拷貝到str數組,35賦給b,且各個數據之間的空白符可以是一個,也可以是多個。

#include<stdio.h>
intmain(){
structstudent{
intnum;
charname[20];
floatscore;
}student1,student2;
scanf("%d%s%f",&student1.num,student1.name,&student1.score);
scanf("%d%s%f",&student2.num,student2.name,&student2.score);
if(student1.score>student2.score)
printf("%d,%s,%f ",student1.num,student1.name,student1.score);
elseif(student1.score<student2.score)
printf("%d,%s,%f ",student2.num,student2.name,student2.score);
else{
printf("%d,%s,%f ",student1.num,student1.name,student1.score);
printf("%d,%s,%f ",student2.num,student2.name,student2.score);
}
return0;
}