ポインターを使用して文字列を逆にしようとしています。DCBA を取得する代わりに、逆の文字列を出力しようとすると、BA としてのみ出力されますか?これについて誰か助けてもらえますか?
#include<stdio.h>
void reverse(char *);
void main()
{
char str[5] = "ABCD";
reverse(str);
}
void reverse(char *str)
{
char *rev_str = str;
char temp;
while(*str)
str++;
--str;
while(rev_str < str)
{
temp = *rev_str;
*rev_str = *str;
*str = temp;
rev_str++;
str--;
}
printf("reversed string is %s",str);
}