"Hello"の入力を受け取り、文字の順序を逆転させて "olleH"を出力するプログラムを作ろうとしています。しかし、私はセグメンテーションフォールトを得続けると私は理解していない理由をCプログラミング、セグメンテーションフォールトコアダンプ
#include <stdio.h>
#include<string.h>
int main()
{
int i;
int size;
char s[100],a[100];
printf("Enter the word you want to get reversed: ");
scanf("%s",s);
while(s[i]!='\0')
{
a[i]=s[i];
i++;
}
size=sizeof(s);
while(i<sizeof(s))
{
s[i]=a[size];
}
printf("The reversed string is : %s",s);
}
ヒント: 'サイズ=さはsizeof(S);'間違っている... –
'(i)は、S(のsizeofを<)しながら、{S [i]は[サイズ] =。 } 'は、未定義の振る舞いのそばで無限ループになります。 – haccks
また、「i」は初期化されていない、UPの別の抜け穴が使用されていることに注意してください。 – haccks