2014-01-09 4 views
-5

두 개의 숫자를 더하고 결과를 변수 "result"에 할당하려면 sum() 함수를 원합니다. 그런 다음이 결과를 내 주요 기능에 출력하고 싶습니다. 무엇 내가 잘못 여기서 뭐하는 거지 : 주요 기능 넣어에서C++ 함수에서 변수를 선언하고 주 함수에서 사용함

+8

C++에 대한 책을 읽어보십시오. –

+2

빈약 한 반환 값을 생각해보십시오. 나는이 잔인한 세상에서 길을 잃을 것이다. – Maroun

+0

나는 당신의 컴파일러가 무엇이 잘못되었는지를 알려줄 것이라고 믿는다. 자주 사용하는 검색 엔진에 오류 메시지를 입력하십시오. – molbdnilo

답변

2

음, 당신은 단지 로컬 변수에 sum의 결과를 할당 할 수 있으며 인쇄 :

#include <stdio.h> 
#include <stdlib.h> 

int sum(int a,int b) 
    { 
    int result; 
    result = a + b; 
    return result; 
    } 

main() 
{ 
    int a=2; 
    int b=3; 
    int res=sum(a,b); 
    printf("%d",res); 
    system("PAUSE"); 
} 

그러나 이런 종류의 질문을한다면 C++로 고전하려고합니다.

+0

예 가능한 답이긴하지만 반환 결과를 사용하는 것이 무엇인지 질문을합니다. – oliveirano25

+0

@ oliveirano25 계산 결과를 저장하는 데 사용하고 있습니다. 원한다면'return a + b; '라고 말할 수도 있습니다. – Sean

+0

나는 return 문이 필요하지 않을 때 왜 사용해야하는지 이해하기 위해 고심하고있다. – oliveirano25

1

로컬 변수입니다. 이것은 sum() 함수의 컨텍스트 내에서만 존재합니다.

sum()은 의 복사본을 의미하므로 (잠재적으로) 함수에서 만들어지고 반환됩니다. 그 값을 어떤 것에도 할당하지 않으므로 사라집니다.

첫째,이 작업을 수행 :

int main() 
{ 
    int a=2; 
    int b=3; 
    int c = sum(a,b); 
    printf("%d",c); 
    system("PAUSE"); 
} 

그를 실행 한 후, 당신이 무슨 일을하는지 중지하고 good book on C++을 선택하십시오.

0

좋아, 나는이 언어에 대해 조금만 알고 있지만 아직도이 질문에 쉽게 답할 수 있습니다. INT 합() 블록

#include <stdio.h> 
#include <stdlib.h> 

int sum(int a,int b) 
    { 
    int result; 
    result = a + b; 
    return result; 
    } 

main()  // Are you serious? You forgot the int? 
{ 
    int a=2; 
    int b=3; 
    sum(a,b); // I'll explain this later. 
    printf("%d",result); 
    system("PAUSE"); 
} 

상기 INT 결과은 내부 생성되는 블록에 액세스 할 수있는 가변 수단 로컬 변수이다. 따라서 프로그램은 결과를 반환하지 않습니다.

합 (A, B)의 주요 블록은 다음과 같이 작성해야한다 내부 :

int r = sum(a,b); 

참고 : 당신은 당신이 원하는 이름으로 코드에서 "R"을 대체 할 수 있습니다.

그리고 주() 부분은 다음과 같이 작성해야합니다 :

int main() { 

어쨌든, 당신이 지금 사용하고있는 언어가 "C 언어"그것을 기반으로하지 C++라고 내가 지금 말한 그 언어. 따라서 C++에 관한 책을 가지고 가십시오. 그러나 사용하고있는 책에 관심이 있다면 C 언어를 찾으십시오.

관련 문제