char* zeichenkette = ...;
zeichenkette++; // <- Zeiger um einen character weitersetzen
char c = *zeichenkette; // <- Zeiger dereferenzieren
#include <assert.h>
static char startsWith(char const* str, char const* substr) {
while (*str != '\0' && *substr != '\0')
if (*str++ != *substr++)
return 0;
return *substr == '\0';
}
int strindex(char const* str, char const* substr) {
char const* s = str;
do
if (startsWith(s, substr))
return s - str;
while (*s++ != '\0');
return -1;
}
#define assertStrindex(idx, str, substr) assert(strindex(str, substr) == idx);
int main(int argc, char** argv) {
assertStrindex(0, "", "");
assertStrindex(0, " ", " ");
assertStrindex(0, "Hello, World", "Hello, World");
assertStrindex(5, "Hello, World", ", World");
assertStrindex(-1, "Hello, World", ", World!");
assertStrindex(-1, "Hello, World", "Ciao,");
assertStrindex(-1, "World", "Hello, World");
}
char strindex(char *zahl1, char *zahl2)
{
if(*zahl1 != "" || *zahl2 != "")
{
char erste_ziffer_zahl1 = *zahl1;
char erste_ziffer_zahl2 = *zahl2;
char ausgabe_erste_ziffer_zahl2 = *zahl2;
while(*zahl1 != '\0')
{
while(erste_ziffer_zahl1 == erste_ziffer_zahl2 && erste_ziffer_zahl2 != '\0'){
erste_ziffer_zahl1 = *(zahl1)++;
erste_ziffer_zahl2 = *(zahl2)++;
}
if(erste_ziffer_zahl2 == '\0'){
return ausgabe_erste_ziffer_zahl2;
} else {
erste_ziffer_zahl1 = *(zahl1)++;
}
}
}
return -1;
}