簡體   English   中英

是否可以在 c 中的一個 scanf() 中獲得兩個不同數據類型的輸入?

[英]Is it possible to get two inputs of different datatypes in one scanf() in c?

我想將命令作為輸入獲取

<char><number><number>

那么是否可以在 c 中使用一個scanf()函數來獲得它?

int i,j; 
char c; 
scanf("%c%d%d",&c, &i, &j);

我認為這行不通,因為編譯器會將其視為一起而不是一個字符和兩個整數,但要以這種格式輸入,即讓編譯器了解您可以將整行作為一個字符串和然后解析字符串以提取字符和整數

char a[1000],c; int x,y;
scanf("%s",a);
c = a[0];
x = a[1] - '0';
y = a[2] - '0';

此外,@BLUEPIXY 為您的問題提供了更好的解決方案!

您可以在 1 個 scanf 中獲得 1 個以上的輸入,如下所示:

char ch, string[100];
int number;

printf("--char--/--number--/--string--");
scanf(" %c%d %s",&ch,&number,&string[0]); // -> be careful about the whitespaces

printf("%c\n",ch);
printf("%d\n",number);
printf("%s\n",string);

您不需要使用空格或 \\n 來輸入您的輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM