Kezdőoldal » Számítástechnika » Programozás » C nyelvben egy kis segítség?

C nyelvben egy kis segítség?

Figyelt kérdés

Ez az egyszerű forráskódom:

int a,b,x;

printf("Kerem az 1. szamot: ",&a);

scanf("%d",a);

printf("Kerem a 2. szamot: ",&b);

scanf("%d",b);


x=a+b;


printf("Osszeg: %d",&x);


Viszont eredménybe ezt kapom:


Kerem az 1. szamot: 2

Kerem a 2. szamot: 2

Osszeg: 2272292

RUN SUCCESSFUL (total time: 9s)



MIÉRT TÖLTI FEL MINDIG UGYANAZZAL A RANDOM SZÁMMAL AZ x VÁLTOZÓT????



2013. szept. 18. 21:11
1 2 3
 1/21 anonim ***** válasza:

A printf nem jól van kitöltve. Nem kell bele &a és &b. Csak az, amit kiírsz. De ez erre az esetre vonatkozik.

A scanf-be tedd bele a helyett &a-t, b helyett &b-t.

2013. szept. 18. 21:17
Hasznos számodra ez a válasz?
 2/21 anonim ***** válasza:

:D:D:D:D:D:D:D:D Bocsi de ezen most jót kuncogtam :D:D:D:D


Szerintem egy kis zavar van a fejekben.


1. printf írás a STDOUT-ra (vagyis az első két printf-ből a &a és &b)

2. scanf olvasás az STDIN-ről

3. &x ebben a kontexusban az a változó címét veszi, vagyis printf("asdasd %d", &x) az x változó címét fogja kírni.

2013. szept. 18. 21:22
Hasznos számodra ez a válasz?
 3/21 anonim ***** válasza:
scanf-nek cím szerint kell átadni a paramétert, hogy tudjon írni a változóba, a printf-nek elég érték szerint mert csak olvassa, és így is van megírva, szóval érték szerint KELL, mert nem dereferálja
2013. szept. 18. 21:23
Hasznos számodra ez a válasz?
 4/21 19András93 válasza:

int a,b,x;

printf("Kerem az 1. szamot: ",a);

scanf("%i",&a);

printf("Kerem a 2. szamot: ",b);

scanf("%i",&b);


x=a+b;


printf("Osszeg: %i",x);


igy próbáld meg....és vigyázz a vátozók tipusára ha int akkor beolvasásnál ne double-t kérj és kiiratásnál sem

2013. szept. 18. 21:23
Hasznos számodra ez a válasz?
 5/21 anonim ***** válasza:
ja, a printfnek egyébként miért adsz egynél több paramétert, ha nem használod?
2013. szept. 18. 21:24
Hasznos számodra ez a válasz?
 6/21 A kérdező kommentje:

Köszönöm szépen a gyors és helyes,hasznos választ.


Abban tudnál segíteni,hogyan tudok új sorba kiíratni 1-1 változót?

(Mármint hogy minden sorban egy legyen)

2013. szept. 18. 21:25
 7/21 19András93 válasza:

printf("Osszeg: %i\n",&x);


ezzel uggrik uj sorba a kursor a \n paranccsal és ha \t raksz akkor csak arréb ugrik

2013. szept. 18. 21:30
Hasznos számodra ez a válasz?
 8/21 anonim ***** válasza:

No szóval:

#include <stdio.h>

void main() {

int a,b,x;

printf("Kerem az 1. szamot: ");

scanf("%d",&a);

printf("Kerem a 2. szamot: ");

scanf("%d",&b);

x=a+b;

printf("Osszeg: %d\n",x);

}


1. Az stdio.h kell a printf és a scanf miatt.

2. Ajánlatos egy main függvény: hiánya egyes fordítóknál - például a gcc-nél - nem várt fordítási hibákat eredményez.

3. Az első két printf-fel kiírunk - tehát ott nem kell az a és a b változó.

2013. szept. 18. 21:33
Hasznos számodra ez a válasz?
 9/21 19András93 válasza:

#include <stdio.h>

#include <stdlib.h>


int main()

{

int a,b,x;

printf("Kerem az 1. szamot: ");

scanf("%d",&a);

printf("Kerem a 2. szamot: ");

scanf("%d",&b);

x=a+b;

printf("Osszeg: %d\n",x);

system ("pause");

return 0;

}

nekem igy futtatta a fordidtó(dev c)

2013. szept. 18. 21:38
Hasznos számodra ez a válasz?
 10/21 iostream ***** válasza:
A void main hibás, az stdlib meg a system miatt kell, de a system nem kell, tehát az stdlib sem.
2013. szept. 19. 10:42
Hasznos számodra ez a válasz?
1 2 3

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!