아래와 같이 프로그램하면 에러가 발생하는데...이유가 뭐죠?

dvwn의 이미지

int a;
a = 30.5;

위쪽 코드는 뭘 의미하고
아래 코드는 뭘 의미하길래
요류가 생기나요?

익명 사용자의 이미지

1. 무슨 언어인가요?
2. 저게 코드의 전부인가요?

dvwn의 이미지

1. c언어 입니다.
2. 문제에서 주어진 코드가 이 두 줄 뿐이더군요...무언가를 생략한 것 같습니다.
위 코드가 의미하는 것과 밑 코드가 의미하는 것을 가르쳐주세요!

익명 사용자의 이미지

코드가 단 저 두 줄뿐이라면, 유효한 프로그램이 아닙니다.

두 번째 줄은 C언어에서 함수 정의의 body 안에서만 나타날 수 있거든요.

익명 사용자의 이미지

a에다가 30.5 숫자를 넣겠다는 의미입니다.

에러나는 이유는 "C언어 자료형"으로 검색해서 읽어보면

왜 에러가나는지 금방 알 수 있습니다.

익명 사용자의 이미지

이게 왜 자료형의 문제죠?

익명 사용자의 이미지

왜 그런지는 찾아보고 읽어보시라고요.

익명 사용자의 이미지

찾아서 읽어보고 드리는 말씀입니다.
귀하께서는 찾아보시고 답변하시는지요?

C언어에서 제시된 경우와 같이 부동소수점 수를 정수형 변수에 대입하는 경우, 자동으로 정수형으로의 형변환이 일어납니다.

사실 이런 종류의 타입 변환이 암시적으로 일어나는 게 그다지 바람직하지는 않기 때문에, 표준의 Annex에서 이 경우를 implementation이 warning을 줄 수 있는 예시로 나열하고 있기는 합니다만.

어쨌든, 자료형으로 인해 에러가 발생하는 상황이라고 할 수는 없습니다.

익명 사용자의 이미지

그렇게 질문 하시니 저도 물어봅시다.
이게 왜 자료형의 문제가 아닐까요?

익명 사용자의 이미지

자료형이 다르긴 하지만, 표준 C언어에서 자료형 변환을 지원하기 때문입니다.

위 댓글 참조바랍니다: https://kldp.org/comment/635693#comment-635693

익명 사용자의 이미지

아마 과제가 아닐까 예상되네요.
int 대신 float, double 쓰시면 됩니다.
그러한 c 언어 기초는 책이나 인터넷에 돌아다니는 튜토리얼 문서를 읽으시기 바랍니다.

익명 사용자의 이미지

그리고 과제이기 때문에, 교수님이 알면 안 되므르 main() 을 포함한 소스코드를 올리지 않는다고 뇌피셜해봅니다. 괜히 이런 질문에 진빼지 말고 싸우지 마십쇼
세상 말세에요

익명 사용자의 이미지

충고는 감사합니다만, 질문글이 과제 관련인지 아닌지는 별로 관심 없습니다.

C언어에서 암시적으로 허용되는 타입 변환이 어디까지였는지 되새겨볼 기회로 써먹는 것 뿐이라서요.

이런 질문들 아니면 어디서 이런 기초적인 내용에 대한 의문을 제시하겠습니까?

익명 사용자의 이미지

위 코드는 에러가 발생하지 않습니다.
질문 자체가 잘못 됐는데...
컴파일하면 에러 나겠죠. main 이 없으니..
아예 기초가 없는데...어디서부터 설명해야 할까요.
책보구 공부해야 되는거에요.

세벌의 이미지

에러가 나면 에러 메시지를 보셔요.
에러 메시지 보면서 자체 해결하실 수도 있고, 자체 해결 안 되더라도 에러 메시지를 알려주시면 다른 분들이 도와줄 수도 있겠지요.

아래 링크에 질문 잘 하는 방법 있으니 참고하셔요.
http://oops.org/?t=lecture&sb=beginner&n=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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.