Ana sayfa
/
Teknoloji
/
Bu kodda yanlışolan ne biliyor musunz sürekli segmentation hatası veriyor #include #include int main() ( int a,b; scanf("%d",a); scanf("%d",b); if (aprintf("%d < %d",a,b); ) else if (a==b)( printf("%d = %d",a,b); ) else ( printf("%d < %d",b,a); ) getch(); return 0; }

Soru

Bu kodda yanlışolan ne biliyor musunz sürekli segmentation hatası veriyor #include #include int main() ( int a,b; scanf("%d",a); scanf("%d",b); if (aprintf("%d < %d",a,b); ) else if (a==b)( printf("%d = %d",a,b); ) else ( printf("%d < %d",b,a); ) getch(); return 0; }

Çözüm

4.5262 Voting
avatar
Vildan
Usta · 5 yıl öğretmeni
Uzman doğrulaması

Cevap

Bu kodda scanf fonksiyonunun yanlış kullanılmasından dolayı "segmentation fault" hatası alıyorsunuz. scanf fonksiyonunu kullanırken değişkenlerin adreslerini vermeliyiz. Ancak kodunuzda bu yapılmamış. Yani "scanf("%d",a);" ve "scanf("%d",b);" yerine "scanf("%d",&a);" ve "scanf("%d",&b);" olmalıdır. Ayrıca "if (a<" yerine "if (a<b)" yazmanız gerekiyor. İşte düzeltilmiş hali:<br /><br />#include<stdio.h><br />#include <conio.h><br /><br />int main()<br />{<br /> int a,b;<br /> scanf("%d",&a);<br /> scanf("%d",&b);<br /> if (a<b){<br /> printf("%d &lt; %d",a,b);<br /> } <br /> else if (a==b){<br /> printf("%d = %d",a,b);<br /> } <br /> else {<br /> printf("%d &lt; %d",b,a);<br /> }<br /> getch();<br /> return 0;<br />} <br /><br />Bu düzenlemeler sonucu kodunuz çalışacaktır.
Derecelendirmek için tıklayın: