데이터 교환에 대해서 궁금 질문 드립니다!
WhiteCat
질문 제목 :
데이터 교환에 대해서 궁금 질문 드립니다!
sub1을 넘어가는도중에
출력하면 max값만 출력되고 나머지는 쓰레기값이 됩니다.
sub2 넘어가면 출력은되는데 소수값이 제대로 출력되지 않습니다.질문 내용 :
#includestdio.hvoid sub1()
{
int a[3],i,j,temp,sum=0; for(i=0; i3; i++)
{
printf([%d]번째 정수 : ,i+1);
scanf(%d,&a[i]);
}
puts();
for(i=0; i2; i++)
for(j=i+1; j3; j++)
if(a[i]a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
puts();
for(i=0; i3; i++)
{
printf(%d,a[i]);
}
for(i=2; i=0; i--)
{
printf(%d,a[i]);
}
for(i=0; i3; i++)
{
sum += a[i];
}
printf(sum = %d,a[i]); puts();
printf(max= %d,a[0]);
puts();
printf(min= %d,a[3]);
puts();
}
void sub2()
{
int a,b,i,j,temp,cn; printf(첫번째 정수를 입력:); scanf(%d,&a);
printf(두번째 정수를 입력:); scanf(%d,&b);
if(ab)
{
temp = a;
a = b;
b = a;
}
printf(%d 에서 부터 %d 까지의 소수를 구합니다!,a,b);
puts(); for(i=a; i=b; i++)
{
cn = 0;
for(j=2; j=i; j++)
if(i%j == 0)
cn++;
if(i%j == 1)
printf(%-2d,i);
}
}void main()
{
int sel; printf(숫자를 입력하세요!\n);
printf(1)최대 최소 합 2)소수점값 3)종료 →);
scanf(%d,&sel); if(sel==1) sub1();
else if(sel==2) sub2();
else if(sel==3) return;
else printf(제대로 입력하세요!\a\a);
}
같은소스라도 함수를 사용안할때는 잘되더니 함수를 사용하니까 쓰레기값이 뜹니다.
데이터 교환할때 잘못된건지
아니면 다른것때문에 잘못됫는지 궁금합니다!
-
얀별
1. a[3]
2. swap 오류