Bu programın neden sadece pratik için yarattığımı, düzgün çalışmadığını bilmek istiyorum. Program, "dizi" olarak adlandırılan diziye yerleştirilen 5 sayı ister. Ayrıca, sayıları almak için, bir cicle ve scanf komutu için kullanılan ve diğeri, dizideki 5 sayıyı yazdırmak zorunda olan 2 adet VOID işlevi vardır. Sorun şu ki, basılan rakamlar sadece ilkler. 4 Neyin var? P.S. Cehaletim için özür dilerim ama yeni başlayan biriyim. Burada sizeof(int)
4
eşittir programı çalıştırmak ortamında kodBu basit c programında sorun nedir?
#include <stdio.h>
#include <stdlib.h>
void
array_print(int array[],size_t size){
int i;
for(i=0;i<size;i++){
printf("%i ",array[i]);
}
}
void
get_num(int array[],size_t size){
int i;
for(i=0;i<size;i++){
scanf("%i",&array[i]);
}
}
int
main(){
int array[5];
size_t size;
size=sizeof(int);
printf("Insert 5 numbers: ");
get_num(array,size);
array_print(array,size);
return 0;
}
bunu kontrol edebilir misiniz -> size = sizeof (int); -> size = sizeof (dizi); –
"size = sizeeof (dizi)/sizeof" (* dizi); ' – Lundin
' dizisi 'birkaç' int 'içermelidir. siz “sizeof” (int) 'yi yaparken - ör. sadece bir' int' boyutunu elde edin. Ayrıca - int veya boyut dizinin boyutu sizin için işe yaramıyor! İhtiyacınız olan şey dizideki sayıların sayısıdır. '' '' '' '' '' '' '' '' '' '' '' 'Komutunu kullanın ve öneriyi Lundin – fukanchik