Find the error in each of the following program segments and correct the errors.
a. int g(void) {printf(“Inside g”); int h() { printf(“Inside h”); } }
b. int s(int x, int y) {int r; r=x+y; }
c. void f1(float a) {return a*8; }
d. float product(void) {int a,b,c,res; scanf(“%d%d%d”,&a,&b,&c); res=a*b*c; return res; }
e. int h(int m,int n) {int q; q=m%n; printf(“Q is %d”,q); }
Hataları bir türlü bulamadım, yardımcı olabilir misiniz?
yazilimda çok derin hata bilgim yok ve emin olmamakla birlikte:
1.de iç içe fonksiyon tanımlanmış, böyle bi kullanım olmaması lazım veya ben hiç görmedim. hiç bi kitapda da görmedim.
2.de fonksiyon bişey return etmiyor.bişeyleri eşitliyor. türü c dillerinde void , vb dillerinde sub olması lazım.
3.de void olmasına rağmen bişey return ediyor. bu bir hata.
4.de fonksiyon type i float ama int return ediyor. aslında bu bi sorun çıkarmaz küçük değerler büyük değerlerde saklanır veri kaybı olmaz. başka bişey var olabilir.
5.de printf yapmış ya tüm hepsinde aynı tür hata olacağını sanmıyorm ama printf yapıyorsa void olması gerekiyor. bişey return etmediği için yanlış gibi görünüyor.