Bonjour à tous,
Je débute en C, et j'essaie de comprendre un code déjà écrit par quelqu'un.
Grosso modo, le code prend en entrée une taille de séquence, et en fait, il sélectionne aléatoirement "n_cut" positions dans la séquences

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <malloc.h>
#include <ctype.h>
#include <math.h>
#include <unistd.h>
#include <signal.h>
 
 
int main()
{	
	int mrna_length = 50 ;
	double mrna_coverage = 0.6 ;
	double avg_clip_length = 8 ;
	simulation(mrna_length, mrna_coverage, avg_clip_length);
	return 0;
}
 
int simulation(int mrna_length, double mrna_coverage, double avg_clip_length)
{
	int i,j,n_cut;
	double *cutpoint;
 
	mrna_coverage*=mrna_length;
	if(mrna_coverage<mrna_length)mrna_coverage=mrna_length;
	cutpoint=(double *)malloc((size_t)((mrna_coverage+10)*sizeof(double)));
	n_cut=mrna_coverage/avg_clip_length+0.5; /* defini le nombre de positions que l'on souhaite sélectionner dans la séquence*/
	for(i=0;i<=mrna_coverage;i++)cutpoint[i]=0; /* initialise toutes les valeurs de cutpoint à 0 */
 
	for(i=0;i<=mrna_coverage;i++){
		printf("valeur de cutpoint[%d] : %d \n",i,cutpoint[i]);
	}
}
Je m'attendais à avoir en retour :
valeur de cutpoint[0]=0
valeur de cutpoint[1]=0
.
.
.
valeur de cutpoint[n]=0

Mais non !
J'obtiens :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
valeur de cutpoint[0] : 0 
valeur de cutpoint[1] : 1 
valeur de cutpoint[2] : 2 
valeur de cutpoint[3] : 3 
etc ...
Où est mon erreur.
Je pense que cela vient du fait que "cutpoint" soit un tableau de pointeur si j'ai bien compris car il est defini comme Pourriez vous m'expliquer comment je peux faire pour afficher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
valeur de cutpoint[0]=0
valeur de cutpoint[1]=0
Merci d'avance !