왜 출력값이 아무것도안뜰까요..

ddrrpg Reply 9 years 31 weeks ago
도와주세요ㅠㅠ
booksky Reply 9 years 31 weeks ago
1. int cbar2[1000]; 사실 문제는 없겠지만 문자열 받을거면 char로 선언해야곘죠.(int로 해도 되긴 합니다만...) 2.for(a=0; a<input; a++) gets(cbar); 이렇게 입력하면 cbar에는 마지막에 입력되는 문자열만 저장되곘죠. 3.if(('0'<=cbar[a]&&cbar[a]<='9')||('A'<=cbar[a]&&cbar[a]<='F')||('a'<=cbar[a]&&cbar[a]<='f')||(cbar[a]=='x'||cbar[a]=='X')) o=ON; else { o=OFF; break; } if(o==OFF) { printf("null"); } 마지막 문장이 잘못된 값일 경우 바로 o가 OFF가 되고 break가 되면 밑에 있는 if구문은 실행도 못하고 바로 for구문을 빠져나가니까 아예 화면에 아무것도 출력이 안 되곘죠.
ddrrpg Reply 9 years 31 weeks ago
그러면 gets로 문자열 전부를 저장할 수는 없는건가요?
booksky Reply 9 years 31 weeks ago
문자열은 char의 배열입니다. 문자 배열 1개에는 1개의 문자열만 들어가는게 원칙이죠. 문자열 여러개를 넣고싶다면 2차원 배열을 선언해야 옳을것입니다.