#include <stdio.h>
int main(void) {
char s[256];
printf("Blbost v0.1\n"
"--------------------\n"
"Vsetko co napises ti vypisem spat. Pre koniec stlac \"K\" "
"alebo napis \"Koniec\"\n");
while(1) {
scanf("%s",&s);
printf("Zadal si: %s\n",s);
if (s == "K" || s == "Koniec") {
printf("som tu");
break;
}
}
return 0;
}
program by mal vzdy vypisat to, co predtym clovek vlozi ako input (a stlaci enter). To funguje. Dalej by sa vsak mal zastavit, ked clovek napise "K" alebo "Koniec". Avsak do vnutra tejto podmienky nikdy nevojde (ani ked dam ako vstup zmieneny K, resp. Koniec). Prosim neviete niekto co s tym?
pre zmenu, ak vsak program upravim takto, tak skonci po zadani akeho kolvek retazca.
#include <stdio.h>
int main(void) {
char s[256];
printf("Blbost v0.1\n"
"--------------------\n"
"Vsetko co napises ti vypisem spat. Pre koniec stlac \"K\" "
"alebo napis \"Koniec\"\n");
while(1) {
scanf("%s",&s);
printf("Zadal si: %s\n",s);
if (strcmp(s,"Koniec")) {
break;
}
}
return 0;
}
if (strcmp(s,"Koniec")==0)
....
strcmp vracia 0 ak su retazce zhodne, nie 1, cize ak je ten prvy vacsi ako druhy tak ti to vrati 1 a tak to prejde tou podmienkou if ako kladne, tym padom sa ti vypne...
dufam ze chapes:)
nemal by si tam mat skor "or" ?
p.s. mr Bendik nemohol by si pozret na "X troubles" temu ? :)
pozor na to, v niektorych jazykoch mas moznost nejake veci vyjadrit viacerymi sposobmi, ale maju roznu precendenciu!