Az alábbi C kóddal mi a hiba? A codeblocks nem futtatja le, pedig csak a-t és b-t szeretném összeadni.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b;
a==5;
b==4;
printf('=a+b');
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(){
int a, b;
a=5; //az == logikai vizsgálatot jelent, nem jó
b=4;
printf("%d", a+b); //amit adtál printf-nek, az hibás, az életben nem fog működni. Javaslom, nézz utána a printf működésének
return 0;
}
A „sztringekhez” pedig ", azaz dupla idézőjelet használj. És a printf dokumentációját[1] is érdemes átnézni, ha valamilyen váltózó értéket szeretnél kiírni.
+: Jelen esetben nincs értelme az stdlib.h-t includeolni.
[1]: [link]
1.Az értékadásnál csak egy egyenlőségjel kell. A dupla egyenlőségjel az egyenlőség vizsgálatánál kell.
Az
a == 5;
b == 4;
kifejezések eredménye 0 (logikailag hamis, false) lesz, mivel a 0 (a változók deklarálásánál az alapértelmezett érték) nem egyenlő sem 5-tel, sem 4-gyel.
Szóval helyesen:
a = 5;
b = 4;
2. Ha printf-el az a és a b változó összegét szeretnéd kiíratni, akkor a helyes megoldás:
printf ("%d", (a+b));
lesz (fontos az idézőjel használata az aposztróf helyett, illetve az a+b kifejezés zárójelek közé tétele).
Bővebben: [link]
int main()
{
int a, b;
a=5;
b=6;
printf("%d", '(a+b)');
return 0;
}
esetén, tehát ha az (a+b)-t ' ' jelek közé teszem, egy hosszú számot ír ki. a '(a+b)' miben más, mint a (a+b)?
És mi a búbánatnak teszed aposztrófok közé?
Aposztrófokkal char-okat jelölünk, szóval gondolom valamiféle char-rá fordul és azt írja ki.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!