Miért csinálja ezt a Codeblocks?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char lastName[20];
printf("Enter your last name: ");
scanf(" %s \n", lastName);
(lastName[0] < 'M' ) ? printf("BlueTeam") : printf("RedTeam") ;
return 0;
}
scanf után kér még egy karaktert, addig nem lép tovább...
Ez meg mindig "8"-at ad vissza.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int bro;
printf("mennyi baratod van? ");
scanf("number of friends %d \n", &bro);
printf("I have %d friend%c \n\n", bro, (bro!=1) ? "s" : " " );
return 0;
}
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Emiatt van, hogy kell még egy enter: scanf(" %s \n", lastName);
Itt tudsz erről olvasni: [link]
A megoldás rá meg ez: scanf("%s", lastName);
A következő esetben is a scanf a gond: scanf("number of friends %d \n", &bro);
A helyzet az, hogy a scanf első argumentuma az az input string format-ja.
Vagyis pl. ez lenne: scanf("asd %d", ..., akkor várna egy "asd"-ot és utána egy számot.
Használd ezt a sort helyette: scanf("%d", &bro);
Illetve a print-ben nem char, hanem string-et akarsz kiiratni ebben a formában. Mármint ha valami idézőjelben van így: "a", akkor az string, míg ha aposztrófok között, akkor az karakter: 'a'
A scanf-ről itt olvashatsz: [link]
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!