Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[1825] Re:Re:소스는...
조준회 [] 1279 읽음    2003-01-12 02:45
c에서는 문자열의 끝은 \0로 끝나야 합니다.

그러나 아래 코드에선 널종료문자로 끝 표기가 되어 있지 않기 때문에..
문자열의 끝을 알수있는 방법이 없습니다.

운이좋으면.. 제대로 출력되고.. 안그러면.. 에러가 발생합니다.

memset으로 s를 초기화 하거나..
아니면.. while 문 밑에  s[i] = NULL;을 넣어주면 될것 같군요..


abc 님이 쓰신 글 :
: 간단합니다. 문자로 숫자를 받은뒤 실수로 변환합니다.
: #include <stdio.h>
: #include <stdlib.h>
: #define MAX 10
:
: int main(void){
:
:  int c,i=0;
:  char s[MAX];
:
:  while((c=getchar())!='\n') s[i++]=c;
:
:  printf("%f\n",atof(s));
:
:  return 0;
:
: }
:
: 다른 컴에선 제대로 돌아가는데 집 컴이랑 노트북에선 안돌아가는지..
: 그리고 여기 자료실 TC 2.01을 받아도 똑같이 나오는데..
: 가르쳐 주세요..
:
: 아참! TC 2.0ver는 어디서 구할 수 있나요?

+ -

관련 글 리스트
1819 runtime 오류문.. abc 1303 2003/01/11
3807     Re:runtime 오류문.. 남병철.레조 1271 2003/01/11
1823     Re:소스는... abc 1234 2003/01/11
1825         Re:Re:소스는... 조준회 1279 2003/01/12
1826             Re:Re:Re:그게... abc 1219 2003/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.