이거 해결좀 부탁드려요

gusrnwka의 이미지

제가 한번 짜본 코든데요

#include
int dut(int x)
{
int i,j,k;

printf("i와 j의 연산 결과는 ");
scanf("%d %d",&i,&j);

k=i+j;

printf("%d이다",k);

return k;
}

int bba(int x)
{
int i,j,k;

printf("i와 j의 연산 결과는 ");
scanf("%d %d",&i,&j);

k=i-j;

printf("%d이다",k);

return k;
}

int gob(int x)
{
int i,j,k;

printf("i와 j의 연산 결과는 ");
scanf("%d %d",&i,&j);

k=i*j;

printf("%d이다",k);

return k;
}

int na(int x)
{
int i,j,k;

printf("i와 j의 연산 결과는 ");
scanf("%d %d",&i,&j);

k=i/j;

printf("%d이다",k);

return k;
}

int main()
{
int dut, bba, gob, na;

dut=(1,2);
printf("%d\n",dut);

bba=(1,2);
printf("%d\n",bba);

gob=(1,2);
printf("%d\n",gob);

na=(1,2);
printf("%d\n",na);

return 0;
}

이렇게 했더니 답은 안나오고 2만 네 번 나오네요..;;

이거 어떻게 풀죠?

shint의 이미지


책도 보고. 학원도 다니시구요.
함수를 이해하셔야 할 거 같습니다.

#include <winsock2.h>
#include <stdio.h>
#include <process.h>
 
 
 
 
int dut(int x)
{
	int i,j,k;
 
	printf("i + j의 연산 결과는 ");
	scanf("%d %d",&i,&j);
 
	k=i+j;
 
	printf("%d이다",k);
 
	return k;
}
 
int bba(int x)
{
	int i,j,k;
 
	printf("i - j의 연산 결과는 ");
	scanf("%d %d",&i,&j);
 
	k=i-j;
 
	printf("%d이다",k);
 
	return k;
}
 
int gob(int x)
{
	int i,j,k;
 
	printf("i * j의 연산 결과는 ");
	scanf("%d %d",&i,&j);
 
	k=i*j;
 
	printf("%d이다",k);
 
	return k;
}
 
int na(int x)
{
	int i,j,k;
 
	printf("i / j의 연산 결과는 ");
	scanf("%d %d",&i,&j);
 
	k=i/j;
 
	printf("%d이다",k);
 
	return k;
}
 
 
//-----------------------------------------------------------------
int main()
{
 
	int n;
 
	n=dut(1);
	printf(" %d\n",n);
 
	n=bba(1);
	printf(" %d\n",n);
 
	n=gob(1);
	printf(" %d\n",n);
 
	n=na(1);
	printf(" %d\n",n);
 
	return 0;
}

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

gusrnwka의 이미지

저는 그런걸 배운 기억이 없는데요..
저는 #include랑 #include, #include, #include 이거 밖에 안배웠습니다
그래서 그런 건 본 적도 없고 써 본 적도 없네요
게다가 저거 연산결과 '+'만 맞고 나머지는 좀 이상하게 나오는데..
염치불구하지만 혹시 다른 방법은 없나요?

mirheekl의 이미지

int dut, bba, gob, na;
 
dut=(1,2);
printf("%d\n",dut);

C에서 카머 연산자는 안에 있는 내용을 수행한 뒤 맨 마지막 것을 리턴하는 걸로 알고 있습니다. 따라서 인용된 소스에서 (1,2)라면 1을 먼저 수행하고 - 상수이므로 거의 의미가 없겠죠 - 2를 리턴하게 되는 것입니다. 결국 dut에는 2가 들어가는 것이죠. 위에 정의된 함수들은 아예 사용되지도 않습니다. 싹 지우고 main만 남기고 컴파일해도 돌아가는 것을 알 수 있습니다. 아예 호출을 하지를 않으니까요.

함수 호출을 제대로 하도록 소스를 고친다 해도, 애초에 본문에 정의된 함수들 자체에도 문제가 있습니다. 네 개의 함수 모두 파라미터인 x를 아예 사용하질 않는데다 초기화도 안 된 지역변수를 그대로 사용하고 있네요. 그러니 제대로 된 결과가 나올 수가 없는 거지요. Warning 레벨을 조절해보면 컴파일시 잔뜩 메시지가 나타날 겁니다.

결국 하실 것은 두 가지입니다. (의도한 대로 소스를 고쳐드리는 것이야 어렵지 않겠지만, 전혀 의미가 없겠죠.)
1. 네 개의 함수를 손봐서 지역변수 대신 파라미터를 사용해 계산을 하게 만든다.
2. 함수 호출 부분을 제대로 고친다.

--

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.