1 #include<stdio.h>
2 #define N 20
3 int main(void)
4 {
5 char test[N]="";
6 int a=0,b;
7 char trans;
8 printf("영단어 : ");
9 scanf("%s",test);
10 while(test[a]!='\0')
11 ++a;
12
13 for(b=0; b<(a/2); b++)
14 {
15 trans=test[b];
16 test[b]=test[a-b-1];
17 test[a-b-1]=trans;
18 }
19 printf("%s",test);
20 return 0;
21 }
영어단어 입력하면 앞뒤 거꾸로 바꾸는 프로그램인데요
13번째줄의 b<(a/2)있잖아요,
a랑b는 int형이라 정수형으로 표현대는데 만약 a가 홀수여서 a/2가 소수점까지 나온다면 오류가 떠야대는거 아닌가요??
근데 왜 오류없이 실행이 잘 되는 건가요?
a, b가 인트형이어서 소수점자리는 버림됩니다.
이런 건 묻지 말고 실험을 해 보아요
감사링
아니 모르는거 물어보면 그냥ㅇ 알려주면 되지 실험을 해보랜다 ㅋㅋㅋㅋ 별의별 꼰대새끼가 다있네 진짜 ㅋㅋㅋㅋㅋ
1.999999도 1로 되버려서, 언젠간 치명적일거에요
근데 스트링 길이라면 strlen쓰는게 앞으로도 편할거임