| Autor |
Nachricht |
rocker1234
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.05.2012
Beiträge: 27
|
rocker1234 Mitglied
19:10:44 20.05.2012 Titel: |
|
Zitieren |
ja genau so wollte ich es auch sehen,
also ich brauche umbedingt mehr char-string pointer training,
die verwirren mich immer
also ein Frage
diese Teil hier (*passwd != '\0')
In Wörtern: pointer to passwd is not equal to null terminator?
ist das Richtig? |
|
|
|
 |
DirkB
Unregistrierter
|
DirkB Unregistrierter
19:22:37 20.05.2012 Titel: |
|
Zitieren |
"Ist der Wert auf den passwd verweist ungleich dem Zeichen '\0'"
In C wird das Zeichen '\0' mit dem Wert 0 als Stringendekennzeichen genutzt.
Das kann man auch abkürzen: while (*passwd) da alle Werte ungleich 0 als wahr gelten. 0 ist demnach unwahr.
Und die while-Schleife läuft solange der Ausdruck in den Klammern wahr ist. |
|
|
|
 |
rocker1234
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.05.2012
Beiträge: 27
|
rocker1234 Mitglied
11:35:48 21.05.2012 Titel: |
|
Zitieren |
Super
danke nochmal für die Information sehr hilfsreich ! |
|
|
|
 |
rocker1234
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.05.2012
Beiträge: 27
|
rocker1234 Mitglied
19:24:32 24.05.2012 Titel: |
Palindrome |
Zitieren |
Hallo Leute,
Ich habe ein Program geschrieben für Palindrombildung.
So sieht es aus:
| C++: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #include <stdio.h>
#include <string.h>
int mystrlen(char s[], int count)//to count chars instead of strlen lib function
{
char *ptr = s;
count = 0;
while (*ptr != '\0')
{
count++;
ptr ++;
}
return count = count-1 ;
}
void palindrom(char usr2[], char usr3[]) // thats where my first problem is
{
int i;
int u=0;
int t;
int v = 0;
u = mystrlen (usr2, u);
v=u;
for (i=0, t=u-1; i<u; i++, t--)
{
usr3[t] = usr2[i];
v--;
}
usr3[t] = 0;
}
int main()
{
int cntr=0;
printf("Please Enter a word to get its palindrome:\n");
char usr[100];
char usr2[100];
char usr3[100];
fgets(usr,100,stdin);
cntr = mystrlen (usr , cntr);
printf("Number of chars %d\n", cntr);
strcpy (usr2, usr);
printf("usr2 = %s", usr2);
palindrom(usr2, usr3);
strcat (usr2, usr3);
printf("Palindrome is %s", usr2);
getchar();
return 0;
} | |
Probleme:
1) Ich will so ein Ergebnis bekommen:
Bitte geben Sie ein Wort zu Palindrombildung ein:
Reit
Das Palindrome lautet :reittier
---------------------------------------------------
Ich bekomme aber immer:
Das Palindrome lauter: reit
tier
es geht immer in new line
2) Wenn ich wort eingeben wir "ab" (also mir nur 2 chars) mein Program kehrt es rum aber ich bekomme nach dem "ba" umbekannte zeichen und es passirt nur wenn ich ein wort eingebe der weniger als 3 chars hat.
Also vielleicht kann mir hier jemand weiterhelfen
danke im Voraus |
|
|
|
 |
rocker1234
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.05.2012
Beiträge: 27
|
rocker1234 Mitglied
19:25:25 24.05.2012 Titel: |
Palindrome |
Zitieren |
Sorry double post ! |
Zuletzt bearbeitet von rocker1234 am 19:26:34 24.05.2012, insgesamt 1-mal bearbeitet |
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|