Diskuze: ignorovanie scanf ?
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

					Tvůrce				
			
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.


scanf ti totiž vezme a naparsuje enter, který jsi zmáčkl za písmenem. Dělá se to tak, že před %c, napíšeš mezeru, která ten enter "vyžere".
scanf(" %c") 
						hmm, skusal som fflush(stdin) pred to presne koli tomu ale teraz mi doslo ze
je to blbost  dakujem
 dakujem
tak este jedna drobnost , pri prvom vstupe vypise len wtf 1 , pri druhom vstupe mi vypise scanf 0 a potom wtf 2 , ocividne to tam zaspalo a caka na nieco ale teraz ma uz fakt nic nenapada (vstupy su a 1, a 2, a 3)
while (true) {
                char s;
                if (scanf(" %c", &s) == -1)
                        break;
                if (s == 'a') {
printf("som v A %i. krat, typ = %i\n",wtf++,typ);
                        char * a = (char*)malloc(255*sizeof(char));
                        if (scanf("%s", a) == -1)
                                break;
                        if (typ == 10)
                                analyzeNadd(queue,a);
                        else {
                                if (typ == 0) {
                                        char k;
                                        getchar();
                                        scanf("%c",&k);
                                        addChar(queue,k);
                                } else if (typ == 1) {
printf("wtf 1\n");
                                        int k;
                                        printf("scanf %i\n",scanf("%i", &k)); // IGNORE
printf("wtf 2\n");
                                        addInt(queue,k);
                                } else {
                                        float k;
                                        scanf("%f", &k);
                                        addFloat(queue,k);
                                }
....Ak to teda načítavaš všetko v cykle tak sa najprv načíta 'a' potom 1 tým sa dostaneš do tej vetvy if (typ == 1) vypíše sa wtf1 a čaká na ďalší scanf("%i", &k)). Potom ak ideš zadať 'a' 2 tak pokračuje v tej vetve vypísaním wtf2
Zobrazeno 6 zpráv z 6.
 
				
