-3
사용자가 원하는만큼 많은 문자를 자로 입력 할 수있게 해주는 프로그램을 작성하려고합니다. 그러면 프로그램은 문자가 대문자인지 소문자인지 확인합니다. 프로그램이 입력 스트림에서 소문자를 감지하면 프로그램은 문자 유형과 16 진수로 문자를 인쇄합니다. 그것이 EOF를 만나고 입력 한 모든 문자가 대문자 인 경우 프로그램은 "입력 한 모든 문자는 대문자입니다"라고 인쇄하고이 번호로 입력 된 모든 문자도 계산합니다. 나는 프로그래밍에있어 정말 새로운 인내심을 갖고있다.C 프로그램. 위 또는 아래 ... 비트 마스킹 및 while 루프
이 내 코드 비트는 당신이 어려움을 겪고있는
#include <stdio.h>
int main(void)
{
char myChar;
do
{
myChar = getchar();
printf("%02x ",myChar); // this is here to help debugging
if(myChar == EOF) // if get user enters an EOF or the EOF is reached
{
printf("All are caps\n");
// print number of letters entered
// break out of loop and end program
}
}
while(((myChar&0x20) == 0));
{
printf("\n");
printf("entered LOWER CASE = %c \n",myChar);
printf("The hex value is = %x \n",myChar); // hex value of lower case letter
}
system("pause");
return 0;
}
입니까? 귀하의 의견은 무엇이며, 어떤 결과물을 얻고 있으며, 어떤 결과물을 기대하고 있습니까? –
'myChar'는'char'이 아니라'int'이어야합니다. 그렇지 않으면'EOF'를 신뢰할 수 없게 탐지 할 수 없습니다. –
일부 관측은'getchar()'int'를 리턴하고'EOF'는'char'가 아닌 * islower()를 사용하여 소문자를 확인해야한다. – unwind