kiarashk
دوشنبه 20 آذر 1391, 20:00 عصر
سلام دوستان
من می خواستم این array of pointers رو یه تستی بکنم (البته توی GCC و زبان C ) اما متاسفانه برنامه با وجود این که هیج errorی نداشت وسطش قطع می شد و خراج می شد کد اینه:
#include <stdio.h>
#define STU_num 2
int main()
{
char *stu[STU_num];
printf("lotfan name daneshjo ra vared konid?\n");
scanf("%s",stu[0]);
printf("%s" , stu[0]);
return 0;
}
کد رو به استاد دادم و استاد توی borland تست کرد و به خوبی جرا شد!
من اومدم خونه و یکم سعی کردم با کد ور برم تا شاید چیزی دست گیرم بشه و اتفاقا هم شد من کد رو به شکل زیر تغییر دادم:
#include <stdio.h>
#define STU_num 2
int main()
{
char str1[3] ;
char str2[3] ;
char *stu[STU_num] = {str1 , str2};
printf("lotfan name daneshjo ra vared konid?\n");
scanf("%s",stu[0]);
printf("%s" , stu[0]);
return 0;
}
و کاملا بدون مشکل روی gcc کار کرد چیزی که من استنباط کردم این بود که رشته ها احتیاج داشتن تا تعیین اندازه بشن اگه درسته خوب چه طوری می شه بدون این که دونه دونه این رشته ها رو درست کنیم براشون با یک دستور کلی اندازه تعیین کنیم؟ و دیگه این که اصلا چرا کد قبلی توی borland جواب داد ولی اینجا نه؟؟
من می خواستم این array of pointers رو یه تستی بکنم (البته توی GCC و زبان C ) اما متاسفانه برنامه با وجود این که هیج errorی نداشت وسطش قطع می شد و خراج می شد کد اینه:
#include <stdio.h>
#define STU_num 2
int main()
{
char *stu[STU_num];
printf("lotfan name daneshjo ra vared konid?\n");
scanf("%s",stu[0]);
printf("%s" , stu[0]);
return 0;
}
کد رو به استاد دادم و استاد توی borland تست کرد و به خوبی جرا شد!
من اومدم خونه و یکم سعی کردم با کد ور برم تا شاید چیزی دست گیرم بشه و اتفاقا هم شد من کد رو به شکل زیر تغییر دادم:
#include <stdio.h>
#define STU_num 2
int main()
{
char str1[3] ;
char str2[3] ;
char *stu[STU_num] = {str1 , str2};
printf("lotfan name daneshjo ra vared konid?\n");
scanf("%s",stu[0]);
printf("%s" , stu[0]);
return 0;
}
و کاملا بدون مشکل روی gcc کار کرد چیزی که من استنباط کردم این بود که رشته ها احتیاج داشتن تا تعیین اندازه بشن اگه درسته خوب چه طوری می شه بدون این که دونه دونه این رشته ها رو درست کنیم براشون با یک دستور کلی اندازه تعیین کنیم؟ و دیگه این که اصلا چرا کد قبلی توی borland جواب داد ولی اینجا نه؟؟