渡された C スタイルの文字列 (つまり、char *) を反転し、反転された文字列の char ポインターを返す C 関数を作成しようとしています。しかし、これを VS2012 で実行すると、ターミナルに何も出力されず、「main.exe が動作を停止しました」というメッセージが表示されます。
#include <stdio.h>
#include <string.h>
char * rrev_str(char * str )
{
char *revd_str=""; //I tried char revd_str []="" error: stack around "revd_str" is corrupted
int i,r;
int str_len=strlen(str);
for (i = str_len-1, r=0; i >=0; i--,r++)
{
revd_str[r]= str[i];
}
return revd_str;
}
int main(int argc, char* argv[])
{
char str1 [] ="STEETS";
char str2 [] ="smile everyday!";
//reverse "chars" in a C string and return it
char * rev_string=rrev_str(str1);
}