2016-10-08 38 views
0

嗨我想要使用來自用戶的輸入將數組的元素轉換爲整數。將字符元素從數組轉換爲int

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
    char i[9]={'-','-','-','-','-','-','-','-','\0'}; 
    int j; 
    printf ("enter an integer for an element "); 
    sscanf(i, "%d", &j); 

    return 0; 
} 

我讀的地方,使用的sscanf是做這件事,但我不知道使用它的正確方法。

+0

https://linux.die.net/man/3/sscanf或'男人sscanf'在一個linux/osx機器上 – Mobius

+0

一旦你弄明白了,注意'sscanf'的返回結果並採取相應的行動,否則就會陷入侵犯[Henry Spencer's Sixth Commandment]的坑中(http://www.seebs.net /c/10com.html)。通過輸入字符串的外觀,你將需要它。 – WhozCraig

回答

0

scanf從標準輸入讀取。

sscanf從字符串讀取。

scanf使用示例:

#include <stdio.h> 

int main() 
{ 
    char str1[20]; 

    printf("Enter name: "); 
    scanf("%s", str1); 

    printf("First char converted to int: %d\n", str1[0]); 

    int j = str1[1]; 
    printf("Second char converted to int: %d\n", j); 

    return(0); 
} 

輸入和輸出:

Enter name: marcel 
First char converted to int: 109 
Second char converted to int: 97 
0

正如馬塞爾說,有兩種不同的功能在於做不同的事情。 你要求轉換數組的元素融入到使用從用戶輸入整數,所以我想你想的:

char i[9]={'-','-','-','-','-','-','-','-','\0'}; 
int j; 
printf ("enter an integer for an element "); 
scanf("%i", &j); 
printf("Element[ %i ] in integer is: %i", j, i[j]);