#include<stdio.h>
#include<string.h>
int reverse(char v[],int i,int j){
char temp;//what happens if a define temp as an integer
if(j==1)
return 1;
temp=v[i];//computations
v[i]=v[j];//computations
v[j]=temp;//computations
reverse(v,++i,--j);
}
int main(void){
char test[]="jimmakos";
reverse(test,0,strlen(test)-1);
printf("%s",test);
return 0;
}
Dies ist ein Programm zum Umkehren eines Strings. Ich verstehe nicht, warum das Programm immer noch funktioniert, wenn ich temp
als int
anstelle von char
in Funktion reverse()
definieren. Da die Elemente des Arrays v[]
char
sind, wie funktionieren die Berechnungen?Gleichheit des Arrays mit einem unterschiedlichen Variablentyp
'char' ** ist ** eine ganze Zahl. –