بسم الله الرحمن الرحيم ،،،،
السلام عليكم ورحمة الله تعالى وبركاته ، أريد أن أعرف أين يتواجد الخطأ في هذا السورس كود ، علما أني أظن أن الكود صحيح نسبيا ، عندما أنفذ البرنامج يقع crash ، لماذا ؟؟؟
#include <stdio.h>
#include <conio.h>
int main(){
char *Nom[4];
int i;
scanf("%s %s %s %s",&Nom[0],&Nom[1],&Nom[2],&Nom[3]);
for(i = 0; i < 4 ; i++){
printf("\nVotre nom est : %s\n",Nom);
}
getch();
return 0;
}
ويقع نفس الخطأ في الكود التالي :
#include <stdio.h>
#include <stdlib.h>
int max;
int main(){
struct stagiaire
{
int mat;
int age;
char nom[10];
char prenom[10];
char addresse[10];
}stg[max];
printf("\n\n\t Entrer le nombre des stagiaires : ");
scanf("%d",&max);
int n = 0, j = 0;
do{
system("cls");
printf("\n\n\t\t Stagiaire N %d ",n+1);
printf("\n\n\t Matricule : ");
scanf("%d",&stg[n].mat);
printf("\n\t Nom : ");
scanf("%s",&stg[n].nom);
printf("\n\t Prenom : ");
scanf("%s",&stg[n].prenom);
printf("\n\t Age : ");
scanf("%d",&stg[n].age);
printf("\n\t Addresse : ");
scanf("%s",&stg[n].addresse);
n++;
}while(n!=max);
printf("\n\n\t\t\t*********** Affichage ****************\n\n");
printf("Mat\tNom\t\tPrenom\t\tAge\t\tAddresse\n\n");
do{
printf("%d\t%s\t\t%s\t\t%d\t\t%s\n",
stg[j].mat,stg[j].nom,stg[j].prenom,
stg[j].age,stg[j].addresse);
j++;
}while(j!=max);
system("pause");
return 0;
}
هل هناك طريقة للتعامل مع المصفوفات الحرفية التي تحوي العديد من العناصر بدون حدوث هذا الخطأ ؟؟؟؟

