Però esiste un metodo per evitare il buffer overflow con la scanf, quello di formattare l'input:
- Codice: Seleziona tutto
char array[4] ;
scanf("%4s",array);
Moderatori:
Paolino,
fairyvilje
char array[4] ;
scanf("%4s",array);


char array[4] ;
scanf("%3s",array);
instead of
(Anonimo).
ain't
, right?
in lieu of
.
for
arithm.


lillo ha scritto:l'ultimo è l'end-of-file.
instead of
(Anonimo).
ain't
, right?
in lieu of
.
for
arithm.

DirtyDeeds ha scritto:Occhio che con un array di 4 caratteri l'input può essere al più di 3 caratteri:



lillo ha scritto:ragazzi grazie di cuore a tutti.


#include<stdio.h>
#define DATA_LEN 5
int main(void)
{
float data[DATA_LEN];
int i;
for(i = 0; i < DATA_LEN; i++) {
printf("Numero %d: ",i+1);
scanf("%f",&data[i]);
}
for(i = 0; i < DATA_LEN; i++)
printf("%f\n",data[i]);
return 0;
}
instead of
(Anonimo).
ain't
, right?
in lieu of
.
for
arithm.





Visitano il forum: Nessuno e 24 ospiti