:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
17/06/01 12:09
코드가 어떤 결과를 원하시는지 모르겠는데 문자열도 보면 사실상 숫자로 저장됩니다 (65 = A, 66 = B) 이런씩으로요
그걸 "%d"로 출력하면 숫자가 나오고 "%s"또는 "%c"로 하면 그 숫자가 뜻하는 문자가 나오죠. char 형이니까 "%c"로 출력해보세요.
17/06/01 12:12
150 = 49+50+51 (아스키코드값)
-106 = 128-150 (overflow) cf) char는 1byte 128을 넘어가는 순간 overflow발생
17/06/01 12:13
문자속에 숫자만 합해서 계산하는 프로그램을 작성할려고 하는데
가령 말씀하신대로 1부터 9까지인 48~57사이값만 if값으로 따로 계산해서 c에 합산할 생각이엇는데 그게 안되더라구요..; 그래서 하나씩 파고들어보려고 저렇게 실행해봤는데 합산하는 과정에서 c가 저렇게 나와버리니까 방법이 안보여서 질문드렸습니다 ㅜ
17/06/01 12:17
포문으로
for(b=0;str[b]!='n';b++){ if(str[b]<58&&str[b]>47) {c+=str[b]; } } 돌릴려구요..ㅠ
17/06/01 12:29
http://en.cppreference.com/w/cpp/language/ascii
char 의 아스키값 표입니다. 단순하게 처리하려면 c = (str[0]-'0' + str[1]-'0' + str[2]-'0') + '0'; 해줘도 됩니다. 출력할때 printf("%d", c) 이렇게 하면 c 의 숫자값을 출력하는거라서 원하는대로 안나오겠지만요. char, int 구분해서 쓰시고요. 문자->숫자, 숫자->문자 변환 관련 검색 해보세요. 츨력할때도 숫자형, 문자형, 문자열형 등 다양한 형식이 있습니다.
|