|
| Nyt problem... Fra : JS |
Dato : 19-11-04 00:27 |
|
Jeg har forsøgt at få denne kode til at du uden den store succes, håber
nogen kan hjælpe:
#include <stdio.h>
void strcpy (char x[], char y[])
{
int i;
i = 0;
while ((x[i] = y[i] != '\0')
i +=1;
}
int main(int argc, char *argv[])
{
char p;
p = strcpy("aasdf","sdgd");
printf("%d\n",p);
fgetc(stdin);
return 0;
}
Mvh
Johs
| |
Bertel Brander (19-11-2004)
| Kommentar Fra : Bertel Brander |
Dato : 19-11-04 00:45 |
|
JS wrote:
> Jeg har forsøgt at få denne kode til at du uden den store succes, håber
> nogen kan hjælpe:
>
> #include <stdio.h>
>
> void strcpy (char x[], char y[])
Man må ikke kalde sine egne funktioner for strxxx, find
et bedre navn.
> {
> int i;
>
> i = 0;
> while ((x[i] = y[i] != '\0')
Der mangler en ) i linien ovenfor
> i +=1;
> }
>
>
> int main(int argc, char *argv[])
> {
> char p;
> p = strcpy("aasdf","sdgd");
Man kan ikke kopiere noget over i "aasdf", lav et
array:
char Dest[1023];
Og brug det som første argument i kaldet til din strcpy.
Din strcpy returnerer ikke noget, du kan ikke sætte p
til at være "ikke noget".
Du ville måske have din strcpy til at returnere destinationen,
så skal den returnere en char *, og p skal være en char *
> printf("%d\n",p);
Når du får ændret p til en char * skal du ændre %d til
%s
> fgetc(stdin);
> return 0;
> }
--
"I learned more from a three minute record
than I ever learned in school"
- Bruce Springsteen
| |
Igor V. Rafienko (19-11-2004)
| Kommentar Fra : Igor V. Rafienko |
Dato : 19-11-04 15:10 |
|
[ dsa.@asdf.com ]
[ ... ]
Bertel Brander har allerede påpekt en rekke feil ...
> void strcpy (char x[], char y[])
> {
> int i;
>
> i = 0;
> while ((x[i] = y[i] != '\0')
.... men her er det noe som ikke stemmer: siden du mangler en parentes,
er det litt vanskelig å gjette seg fram til hva du mente, men vær klar
over at uttrykket:
x[i] = y[i] != '\0'
.... betyr
x[i] = (y[i] != '\0')
(dvs. x[i] får alltid verdien 0 eller 1), siden != har høyere
presedens. Det er neppe det du ville.
[ ... ]
ivr
--
My compiler compiled yours
- Visual C++ .Net 2003 motto
| |
|
|