Я написал следующий код в программировании на языке C (используя Turbo C++).Неожиданное поведение структуры в C
#include<stdio.h>
struct test
{
char fname[10];
char age[2];
char lname[10];
}s1[10];
int main()
{
int i;
for(i=0;i<3;i++)
{
printf("enter the first name : ");
scanf("%s",s1[i].fname);
printf("enter the last name : ");
scanf("%s",s1[i].lname);
printf("enter the age : ");
scanf("%s",s1[i].age);
}
for(i=0;i<3;i++)
{
printf("\n %s %s age= %s",s1[i].fname,s1[i].lname,s1[i].age);
}
getch();
return 0;
}
Я ввел входы, как и требовалось. Но последнее имя (lname) было обнаружено отсутствующим при печати результата.
Можете ли вы помочь мне решить это неожиданное поведение структуры. (Пожалуйста, безнадзорности значение [10], возраст объявлен как строка и т.д., как я сделал это для моей цели)
Пожалуйста, обратите внимание: когда я объявил возраст как «int
» и используется %d
отображалось ФАМИЛИЯ, но когда все были объявлены персонажем, он не работает.
надежду, что вы код не написано на самом деле именно так ... Нет отступов :( – DonCallisto
@DonCallisto рассматривать вышеуказанную программу для ввода имени 3-х человек (первое имя, фамилию) и их возраст. – MELWIN
это хороший образец интервью :) – UmNyobe