Ich habe Probleme, den folgenden Algorithmus ohne Index arbeiten (mit Index funktioniert es). Es ist eine kleine Übung für meine Universität, und eine der Anforderungen ist, dass ich nur "Zeigerreferenz" verwenden kann, um durch mein zugewiesenes Array (Frase) zu gehen, nicht zu indexieren. Was ich zuletzt versucht habe, um es zum Laufen zu bringen, ist kommentiert, und ich gebe auf, weil alles, was ich versuche, nicht funktioniert ... Danke für die Hilfe.Zeiger als Index eines Arrays - C
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
int main(){
char* frase;
frase = malloc(sizeof(char) * 100);
gets(frase);
/*
while(*frase != '\0'){
printf("%c", *frase);
frase++;
}
*/
int i = 0;
while(frase[i]){
printf("%c", toupper(frase[i]));
i++;
}
printf("\n");
free(frase);
}
Was hat nicht funktioniert? Der kommentierte Code scheint in Ordnung zu sein. Abgesehen von der Tatsache, dass Sie es später nicht "befreien" können, da Sie den ursprünglichen Zeiger verlieren. Sie müssen es also vor dem Inkrementieren speichern. –
do 'while (* (frase + i))' und 'toupper (* (frase + i))'. Ändere diese zu denen, die ich geschrieben habe, und versuche es erneut :) – d3r1ck
Eugene, mit dem kommentierten Code bekam ich eine Menge Abstürze und meinen PC neustarten, wahrscheinlich wegen schlechtem Speicher verwalten oder etwas ... –