|
궁금해여~~~~~~ 님이 쓰신 글 :
: 두개값의 입력b와 c를 몇번받을지 a에 넣고 부호를 받은뒤 입력받은 b값들합과c값들합
: 두개를 출력하려는데여...
: call by reference 방식으로 두개의 값을 포인터로 함수를 만들어서 주함수에
: 수행을 할려는데여 자꾸에러가 나여...소스보시고 눈에 띄는 에러체크좀...
:
:
:
: C:\My Documents\새 폴더\Cpp1.cpp(32) : error C2660: 'ex' : function does not take 2 parameters
: C:\My Documents\새 폴더\Cpp1.cpp(34) : warning C4508: 'main' : function should return a value; 'void' return type assumed
: C:\My Documents\새 폴더\Cpp1.cpp(35) : error C2065: 'pb' : undeclared identifier
: C:\My Documents\새 폴더\Cpp1.cpp(35) : error C2065: 'pc' : undeclared identifier
: C:\My Documents\새 폴더\Cpp1.cpp(36) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
: C:\My Documents\새 폴더\Cpp1.cpp(36) : fatal error C1004: unexpected end of file found
: Error executing cl.exe.
:
: Cpp1.exe - 5 error(s), 1 warning(s)
:
: 이렇게 오류가 떠여 ....
:
:
: #include<stdio.h>
: #define stop '\n'
: main()
: {
: void ex();
: int i,a,b,c;
: scanf("%d",a);
: for(i=1; i<=a; i++)
: {
: scanf("%d %d",b,c);
: }
: ex(b,c);
: printf("%d %d",b,c);
: }
:
:
:
: void ex(pb,pc)
: int *pb,*pc;
: {
: int temp;
: temp = *pb;
: *pb += temp;
: temp = *pc;
: *pc += temp;
: }
#include<stdio.h>
#define stop '\n'
void ex(pb,pc) <<----이건 void ex( int *pb, int *pc ) 이렇게 써야 겠죠..
int *pb,*pc; <<--------(1)
{
int temp;
temp = *pb;
*pb += temp;
temp = *pc;
*pc += temp;
}
// function ex()는 main 이전에 와야 겠죠.<<-- C 언어가 순차적 언어이기 때문에 그렇다고
// 하데요.
main()
{
//(1) 에 선언한 부분은 이 부분으로 와야 할것 같습니다.
int pb, pc;
/*void*/ ex(&pb, &pc);
//ex() function엔 분명히 2개의 인자가 필요한데, 아무것도 넣지 않으셨네요.
int i,a,b,c;
scanf("%d",a); // a 앞에 & 가 붙어야겠죠.
for(i=1; i<=a; i++)
{
scanf("%d %d",b,c);
}
ex(b,c);
printf("%d %d",b,c);
//warning은 꼭 잡아야 하는건 아니자만,잡고 싶다면,
return 1; //function의 리턴 타입을 정의 해주지 않으면, Default로 int의 값을 리
//턴하는 function으로 간주 합니다.
}
답변이 되셨는지 모르겠습니다.
좋은 하루 되세요.
|