Nochmals Hi,
ich hab mir den Quelltext nochmals zu Gemüte geführt und noch einen Logikfehler gefunden:
if(t='j')
müsste
if(t=='j')
heißen.
ich hab das Progrämmchen nochmal umgeschrieben, damit es funtioniert.
#include
int tausch(int& x, int& y)
{
int z=0;
z=x;
x=y;
y=z;
return x,y;
}
int \_tmain(int argc, \_TCHAR\* argv[])
{
int x,y;
char t[2];
t[0]='j';
while (t[0]=='j')
{
printf("Geben sie eine Zahl x ein: ");
scanf("%d",&x);
printf("Geben sie eine Zahl y ein: ");
scanf("%d",&y);
printf("---------------------------------------\n");
printf("Tauschen? (j/n) ");
scanf("%1s",&t);
if(t[0]=='j')
{
tausch(x,y);
}
printf(" x ist jetzt %d und y ist jetzt %d\n",x,y);
printf("---------------------------------------\n");
printf("noch einmal? (j/n)\n");
scanf("%1s",&t);
}
}
ich lege t nicht mehr als einzelnen Character an, sondern als Char-Array, aus dem ich aber nur das erste benutze.
Gruß Yelmalio
Hey Leute, hab hier folgenden Quellcode geschrieben:
#include
int tausch(int x, int y)
{
int z=0;
z=x;
x=y;
y=z;
return x,y;
}
int main()
{
int x,y;
char t;
printf(„Geben sie eine Zahl x ein: „);
scanf(“%d“,&x);
printf(„Geben sie eine Zahl y ein: „);
scanf(“%d“,&y);
printf("---------------------------------------\n");
printf(„Tauschen? (j/n) „);
scanf(“%c“,&t);
if(t=‚j‘)
{
tausch(x,y);
}
printf(" x ist jetzt %d und y ist jetzt %d\n",x,y);
}
So und nun zum Problem. Der Compiler liest ohne weiteres x und
y ein, aber wenns um die Tausch-Frage geht, gibt er mir die
Frage aus und dann gibt er x und y aus … Warum liest der
meine t-Variable nicht ein? Bin mit meinem Latein - respektive
c - am Ende.
so long
Andy