Ovaj zadatak je:
Zamisli da acStudent sadrzi neki string(ime). Treba da pcTitel naprijed od tog imena dodam, ako moze stati. Koja konstrukcija odgovara tome?
Code:
#define MAXNAAM 40
int iLt;
char acStudent [MAXNAAM + 1];
char pcTitel = “ing. “; /*5 tekens */
#define MAXNAAM 40
int iLt;
char acStudent [MAXNAAM + 1];
char pcTitel = “ing. “; /*5 tekens */
A
Code:
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
strcpy (acStudent + 5, acStudent);
strcpy (acStudent, pcTitel);
}
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
strcpy (acStudent + 5, acStudent);
strcpy (acStudent, pcTitel);
}
B
Code:
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
for (iTel = iLt + 5; iTel >= 5; iTel--)
{
acStudent[iTel] = acStudent[iTel – 5];
};
strcpy(acStudent, pcTitel);
}
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
for (iTel = iLt + 5; iTel >= 5; iTel--)
{
acStudent[iTel] = acStudent[iTel – 5];
};
strcpy(acStudent, pcTitel);
}
C
Code:
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
char cTemp = acStudent[0];
for (iTel = iLt + 5; iTel > 5; iTel--)
{
acStudent[iTel] = acStudent[iTel – 5];
};
strcpy(acStudent, pcTitel);
acStudent[5] = cTemp;
}
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
char cTemp = acStudent[0];
for (iTel = iLt + 5; iTel > 5; iTel--)
{
acStudent[iTel] = acStudent[iTel – 5];
};
strcpy(acStudent, pcTitel);
acStudent[5] = cTemp;
}
D
Code:
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
for (iTel = 0; iTel <= iLt + 5; iTel++)
{
if (iTel < 5)
{
acStudent[iTel] = pcTitel[iTel];
}
else
{
acStudent[iTel] = acStudent[iTel - 5];
}
}
}
iLt = strlen (acStudent);
if (iLt <= MAXNAAM – 5)
{
int iTel;
for (iTel = 0; iTel <= iLt + 5; iTel++)
{
if (iTel < 5)
{
acStudent[iTel] = pcTitel[iTel];
}
else
{
acStudent[iTel] = acStudent[iTel - 5];
}
}
}
Znam da je odgovor C, ali moze li mi neko pojasniti sta rade svi ovi kodovi kod A, B, C i D. Tako cu lakse skontati razliku izmedju ovoga.
Unaprijed hvala za trud. ;)