#include<stdio.h>
#include<stdlib.h>
int add(int num,...)
{
int a, b, anw=0;
int* point=NULL;
point=&num+1;
for(a=0;a<=num;a++)
{
anw+=point[a];
}
return anw;
}
int main()
{
int a, b, c=0;
a=add(5, 1, 2, 3, 4, 5);
printf("%d ", a);
a=add(10, 1,2,3,4,5,6,7,8,9,10);
printf("%d ", a);
b=add(6,1,2,3,4,5,6,7,8,9);
printf("%d ", b);
}
아니 VS에서는 제대로 돌아가는 물건이 왜 구름 IDE에서는 쓰레기값만 뱉어내는지 도데체 원지 모르겟습니다.
포인터 관련 문제라는건 대충 파악했는데 그렇다면 왜 VS에서는 잘만 돌아간건지 이해가 안되네요.
0베이스 1베이스
배열 11개 짜리에서 첫번째거 버리고 두번째부터 0으로 초기화 했으면 9로 끝나야져
이게 문제가 골치아픈게 배열 길이랑은 상관없이 무조껀 쓰레기값 뱉어냅니다.
그러니까 배열을 1로 두고 인자를 수십개 입력하든가 아니면 배열을 100으로 두고 인자는 1만 두든 간에 무조껀 쓰레기값이 나오는데 원래 VS에서는 의도한 대로 잘만 나오는 코드였다는겁니다.