배열에 문자열을 받았는데요. 문자열중 하나를 딱 출력하는게 안되네요..
일본어못해요
질문 제목 : 배열에 문자열을 받았는데요. 문자열중 하나를 딱 출력하는게 안되네요..질문 요약 :배열에 문자열을 받았는데요. 문자열중 하나를 딱 출력하는게 안되네요..질문 내용 :책의 예제중 사용자로부터 문자열을 입력받아서요 대소문자 변환해주는건데요..
#includestdio.h
#includestring.h
#includectype.h
void convert(char * str);
int main(){
char str[30];
char str2[20];
printf(Enter a string : );
fgets(str, sizeof(str), stdin);
convert(str);
printf(convert string : %s, str);
return 0;
}
void convert(char * str){
int i;
for(i=0;istrlen(str);i++){
if(str[i]=65 && str[i] =90)//입력받은 문자열에서 배열에 들어가 있는거 하나씩 비교해서 바꿔주는거같은데
str[i]=tolower(str[i]);//출력은 왜 하나씩안되죠?? printf(%s,str[1]); 이런식으로요..
else if(str[i]=97 && str[i] =122)
str[i]=toupper(str[i]);
else
continue;
}
}
///////////////////////////////////////7월 31일//////////////////////////////////////////////////
아아.. 코드분석이아니구요.. 이론....적?? 이라고해야할까..
if(str[i]=65 && str[i] =90)//여기서보면 배열주소로 바로 입력받은 문자열을마치 배열하나하나에 글자를 입력한것처럼 str[i]=tolower(str[i]);//비교를하고있잖아요.. 음.. 그러니까 출력은printf(%s, str/*-배열이름*/); 해야만//출력이 되면서 str[i]=65 이런식으로 따로따로 비교가 가능한것인지.. //질문드리는겁니다.. ;;