컴퓨터 2 차 c 언어 제목, 대답 및 설명! 감사합니다

# includelt; Stdio.hgt;;

# define maxlen 80

intmain (void)

{

charstr [maxlen];

while((str[k]=getchar ())! =' #')

k++;

str [k] =' \ 0';

for (k = 0; Str [k]; K++)

if (str [k] gt; =' 0' amp; Amp;; Str [k] lt; =' 9' | | str [k] = =' a' | | str [k] = =' b')

if (str [k]) =' 0' amp; Amp;; Str [k] lt; =' 9')

번호 = 번호 * 12+str [k]-'0';

elseif (str [k] = =' a' | | str [k] = =' b')

번호

else; /* 행 15 */

elsebreak; /* 행 16 */

printf("d\n ",번호);

리턴 0;

}

-다음과 같이 분석됩니다-----

17 번 질문

프로그램 입력 10 >

첫 번째 단계 number=0*12+1=1

두 번째 단계 number = 1 * 12+0 = 12

이 시점에서 number=1

질문 19, 프로그램 수정 16 행

프로그램 입력 a*0#

a 와 * 모두 0 에서 9, a 가 아니기 때문이다 LZ 자체 분석

1 단계: num=0*12+1=1

2 단계: num = 1 * 12+6 = 18 < 。 。