입력한 문자열 거꾸로 출력하는 프로그램
참이삭
2023.04.01
#include stdio.h
void reverse_print(int a[]);
int main(void)
{
char a[80];
for(;;)
{
printf(문자열을 입력하세요:);
gets(a);
printf(입력한 문자열은 %s입니다.\n,a);
reverse_print(a);
}
return 0;
}
void reverse_print(int a[])
{
int i,count=0,reverse;
for(i=0;i=80;i++)
{
if(a[i]!=0)
{
count++;
}
}
for(i=count;count=0;i--)
{
reverse=a[i];
}
printf(입력한 문자열을 거꾸로 출력하면 %s입니다.,a);
}
어디가 잘못 되었을까요?
-
피리
for(i=0;i=80;i++)
{
if(a[i]!=0)
{
count++;
}
}
여기서 a[i]==0일때 count가 증가 안하긴 한데 루프가 계속 돕니다. 따라서 다음 단계에서 행동을 예측할수 없고요. a[i]==0일때 루프를 빠져나가야 합니다.
for(i=count;count=0;i--)
{
reverse=a[i];
}
그리고 이 루프는 아무런 의미가 없습니다. reverse 변수를 이용하는데도 없고요.