드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 함수하는데.. 이게 도대체 무슨 소리일까요..
게시물ID : computer_46564짧은주소 복사하기
작성자 : Hacktivist★
추천 : 0
조회수 : 461회
댓글수 : 9개
등록시간 : 2012/05/10 14:19:45
입력받은 문자에서 1로 되어 있는 비트의 수를 구하는 프로그램
#include<stdio.h>
int bitCount(char ch);
int main()
{
char ch;
printf("문자 : ");
scanf("%c",&ch);
printf("%d\n",bitCount(ch));
return 0;
}
int bitCount(char ch)
{
int count=0;
for(;ch!=0;ch>>=1)
{
if (ch&1)
count++;
}
return count;
}
책에 있는 소스 그대로 옮겼습니다. 근데 이해 안가는데 2가지 있어서요...
밑에 보면 for문이 있는데, 원래 for문은 형식이
(식1;식2;식3;) 인데, 저기서는 식1이 빠졌는데 왜 빠진건가요??
그리고 식3에 보면 ch>>=1 이라고 있는데, 이건 도대체 무슨 표시인가요?!
ch>>1 은 쉬프트 연산이고
ch>=1 은 ch가 1보다 크거나 같다 라는 소린데..
ch>>=1은 도대체 무슨 소린지 모르겠네요 ㅠㅠ
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.