2016-10-08 3 views
0

안녕하세요 사용자의 입력을 사용하여 정수로 배열의 요소를 변환하려고합니다.배열에서 char 요소를 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' 리눅스/osx 상자에 – Mobius

+0

일단 당신이 그걸 알아 내면,'sscanf'의 반환 결과에 유의하고 이에 따라 행동하십시오, 그렇지 않으면 [Henry Spencer의 여섯 번째 계명] 위반의 구덩이에 빠지게됩니다. (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]); 
관련 문제