2013-05-02 2 views
-6

배열에 4 개의 값이있는 경우 모든 값을 하나의 변수에 저장하는 방법은 무엇입니까?배열을 변수에 어떻게 저장합니까?

char d[4]; 
    int allvalues; 
    d[0] = 1; 
    d[1] = 2; 
    d[2] = 3; 
    d[3] = 4; 

나는 allvalues ​​= 1234를 원한다. 이 코드를 추가하면 출력이 달라집니다.

allvalues = d; 
    printf("%d", allvalues); 

고맙습니다!

+3

'allvalues ​​= 1000 * d 개의 [0] + 100 * D [1] + 10 *의 D [2] + D [3] ' –

+0

I는 해당 작업을 생각 신경 쓰지. – Ammar

+1

'd '를 채울 때 잘못된 인덱스를 사용했기 때문입니다. 'd [4]'가 정의되지 않은 동작을 호출하여 2와 3 대신에 3과 4를 사용했습니다. –

답변

0
allvalues = d[3] + 10 * (d[2] + 10 * (d[1] + 10 * d[0])); 
-1

다음은 문자 배열을 정수로 변환합니다.

allvalues = atoi(d) 
+1

0으로 끝나는 배열이 필요하며 오류 검사가 없습니다. 일단 당신이 0 - 종료 배열을 가지고, 나는'strtol'을 사용하고 싶습니다. –

+0

'atoi()'는 오류 검사를하지 않습니다. –

+0

@DanielFischer는 C++에서 strtol()이 아닙니다. 이것은 C로 표시되어 있지만, null 종료에 대해서는 잊어 버렸습니다. – Evo510

0

배열을 반복하고 값을 문자열에 추가해야합니다. 이 같은 트릭을해야합니다 :

char d[4]; 
string allvalues; 
d[0] = 1; 
d[1] = 2; 
d[3] = 3; 
d[4] = 4; 

for(int i =0; i<4; i++) 
{ 
    allvalues = allvalues+d[i] 
} 
printf("%s", allvalues); 

이 도움이되기를 바랍니다.

관련 문제