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

c語言字元串間沒逗號

發布時間: 2022-08-04 23:07:50

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

1
如果使用scanf進行格式化輸入,用逗號隔開不適用於先輸入字元串後輸入數字的情況,僅適用於數字的間隔,或者先輸入數字後輸入字元串。
下面是先輸入數字後輸入字元串的例子:
#include <stdio.h>
int main()
{
char s[100];
int v;
scanf("%d,%s",&v, s);//先輸入整型變數v,再輸入字元串,可以使用逗號分隔。
printf("%s\n%d\n", s, v);//輸出得到的變數,每行一個值。
return 0;
}如果輸入:
123,abc
會輸出:
abc
123
但是如果先輸入字元串再輸入數字,比如用scanf("%s,%d",s,&v);的格式,系統會出錯。
2
如果需求必須是先輸入字元串後輸入數字,那麼必須人工進行判斷。
思路為用getchar逐個讀入字元,並賦值到字元串對應位置,當出現逗號時結束。然後再用scanf讀入數字。
代碼如下:
#include <stdio.h>
int main()
{
char s[100];
int v;
int i = 0;
while(1)
{
s[i] = getchar();//逐個輸入字元並賦值到字元串中。
if(s[i] == ',')//輸入結束。
{
s[i] = '\0';//賦值結束符。
break;//退出循環。
}
i ++;
}
scanf("%d",&v);//繼續輸入數字。
printf("%s\n%d\n", s, v);//輸出得到的變數,每行一個值。
return 0;
}以上程序輸入:
abcd,123
輸出哦
abcd
123

2. c語言中二維字元數組各元素(即字元串)間必須用逗號分開么

必須逗號。。規則在那擺著。。

3. c語言中字元串中逗號

數組初始化表寫法:{元素初值列表},其中的元素初值列表以逗號表達式分隔,如:

int a[]={1, 2, 3};
double b[]={0.1, 0.2, 0.4};
char c[]={'a', 'b', 'c'};

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

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

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

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

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

5,6

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



(4)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。

5. 二級c語言scanf的輸入分隔符不包含逗號,關於scanf這一塊有點亂誰能幫幫忙控制字元串又是什麼 有什麼聯

scanf(" ",);中雙引號中間寫的格式是什麼樣子的,在程序運行時就要怎麼輸入。例如:
scanf("%d %d",&i,&j); //在運行輸入時就是i(空格)j
scanf("%d,%d",&i,&j); //在運行輸入時就是i(逗號)j

6. C語言地址符號間要加逗號嗎

不需要,C語言用分號做分割符。
C語言中,再給某個數組輸入具體值的時候,要加取地址符,其餘不要加

7. C語言如何實現忽略逗號的字元串比較

#include <string.h>
#include <stdio.h>
#define Num 0

int comp(char*a,char*b,int flag)
{
if(flag)
return strcmp(a,b)?0:1;
else
{
while (*a!=0 && *b!=0)
{
while(*a==',')a++;
while(*b==',')b++;
if(*a!=*b) return 0;
a++;
b++;
}
if(*a!=*b) return 0;
return 1;
}
}
int main(void)
{
char *buf1 = "aa,a", *buf2 = "a,aa";
printf("%d",comp(buf1,buf2,Num));
}

8. C語言逗號問題

scanf()函數是從左往右識別類型,當在鍵盤中輸入的字元,字元串或者其他類型變數。與你在scanf()函數定義的不一樣時,系統虛擬機會癱瘓,直接跳出。最好%d%d之間有空格,空格是緩沖區。

9. C語言輸入兩個數之間是用空格隔開還是用逗號

C語言輸入兩個數之間是用空格隔開還是用逗號的解決方法如下:

這個是根據實際情況來決定的,就是是根據你的scanf來決定的。

你現在中間寫成了scanf("%d,%d",&a,&b);可以看到除了輸入兩個數字外還要加入逗號才行,所以現在你得加逗號才行。

如果想輸入500 600就可以的話,要寫成scanf("%d%d",&a,&b);注意把中間的逗號給去掉;一定要注意這個格式的問題,兩種輸入方法都行的。

(9)c語言字元串間沒逗號擴展閱讀:

書寫規則

1、一個說明或一個語句佔一行。

2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。

3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。

10. C語言中scanf("%f,%,f%f,",&a,&b,&c);%f之間的逗號可省沒,為什麼

可以省略
這只是對輸入格式的控制

有逗號的時候,按照引號內的格式,直接輸入數據和逗號,就可以將各個數據分隔開
沒有逗號的時候,各個數據之間用空格或者回車 分隔開來