ghost07max
Newbie
- Registriert
- Juli 2021
- BeitrÀge
- 3
Hallo đ„Ș
meine Funktion verarbeitet den string aber nicht die int die ich uebergebe. Ich moechte verstehen warum der string auch in einer void funktion erfolgreich veraendert wird aber nicht eine int Variable, ich ubergeb naehmlich 2 parameter
meine Funktion verarbeitet den string aber nicht die int die ich uebergebe. Ich moechte verstehen warum der string auch in einer void funktion erfolgreich veraendert wird aber nicht eine int Variable, ich ubergeb naehmlich 2 parameter
C:
#include <stdio.h>
#include <string.h>
void str_funktion_void(int i,char str[]){
i=123;
strcpy(str,"Hallo Void\n");
}
char str_funktion(int i,char str[]){
i=3;
strcpy(str,"Hallo Welt\n");
return i;
}
int main() {
int i=0;
char str[640]="";
/* Variante (1) [void]
* i wird nicht veraendert
* str wird veraendert */
str_funktion_void(i,str);
printf("i=%i\nstr=%s\n",i,str);
/* Variante (2) [return]
* i wird veraendert
* str wird veraendert */
i=str_funktion(i,str);
printf("i=%i\nstr=%s\n",i,str);
return 0;
}