簡體   English   中英

如何使用C將字符串中的每個字符存儲為數字

[英]How to use C to store every character from a string as a number

假設getNumber為65432
我想將數字存儲到每個數組

例:

number[0] = 6
number[1] = 5
number[2] = 4

我應該怎么做?

char input[32];
char getNumber[32];
int number[20];
fgets(input,sizeof(input),stdin);
sscanf(input,"%s",number);

您實際上要嘗試執行的操作可能如下所示:

int digits[20];

char word[20];
sscanf(input, "%19s", word);       // <-- read word 

int i, len = strlen(word);
for (i = 0; i < len; ++i)
    digits[i] = word[i] - '0';     // <-- get integral value of each character

請記住,字符串中的第一個字符位於索引0 ,第二個字符位於索引1 ,依此類推。然后還要記住,您可以通過減去'0'ASCII數字中獲取數字(請查看ASCII表以了解原因)。

所以你可以通過做例如

number[0] = getNumber[0] - '0';
number[1] = getNumber[1] - '0';

等等。

當然,這可以整齊地循環執行。

首先,您可以直接使用scanf從stdin獲取輸入字符串

scanf(" %19s", input);

然后您可以通過這種方式將輸入字符串中的每個數字保存在數字數組中:

len = strlen(input);
for (i=0; i<len; i++) {
   number[i] = input[i] - '0';
}

暫無
暫無

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

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