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]='