Kezdőoldal » Számítástechnika » Programozás » Ha megnyomjuk a space-t a...

2105as kérdése:

Ha megnyomjuk a space-t a billentyűn kiír egy tetszóleges szöveget, de hogyan? (c nyelv)

Figyelt kérdés
2016. okt. 23. 20:06
 1/6 A kérdező kommentje:

pl progi ha kicsit furán fogalmaztam volna

:

#include <stdio.h>

#define S 1000

main()

{

int a,b,i,T;

char szo[S];

b=(a=1)+1;

printf("Add meg a kiirando (angol) szot!\n");

scanf("%s",&szo);

printf("Irj be egy szamot es kirom annyiszor a szoveget!\n");

scanf("%d",&T);

for (i=0; i<T;i++) {

printf("%s\n",szo);

}


}


Ha két szót akarnák beírni akkor ugye space-t kellene nyomni és ekkor akarom hogy kiirja, hogy pl: Csak egy szót írj be .

2016. okt. 23. 20:09
 2/6 anonim ***** válasza:

Szerencséd van.


[link]


A scanf levág mindent az első szóköz után, nem kell neked megoldanod.



Ha viszont olyan megoldást választanál a szöveg bevitelére, ami elfogadná a szóközöket is, akkor azt ajánlanám, hogy iterálj végig a tömbön, nézd meg, hol az első szóköz, és az addig tartó karaktereket tebb át egy második tömbbe, és csak azt írasd ki. De, mint mondtam, ezúttal mindez nem releváns.

2016. okt. 23. 20:17
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

b=(a=1)+1;


Ez mi akar lenni?

2016. okt. 23. 20:24
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
Azt tudom, hogy a scanf-be csak egy szót lehet "beolvasni", de ha nem space-t hanem pl entner vagy 'a' betű megnyomásakor írjka ki, hogy pl : hibás adat vagy hasonló
2016. okt. 23. 20:24
 5/6 A kérdező kommentje:

A második kérdezőnek

a b=(a=1)+1; az egy értékadás b-nek

bocs a a végtelen ciklus programból maradt benne, elfelejtettem kitörölni.

(az a=1 és ha az a-hoz adok +1 akkor az 2 és a b = 2 ,ilyan "összefűző" érték adás is van c-ben)

2016. okt. 23. 20:29
 6/6 anonim ***** válasza:

Pro tip #1:


char Input[5];

int Val = 6;

scanf("%s", Input);

printf("%d", Val);


Próbáld ki, hogy beírsz 4 betűt majd entert nyomsz. Most próbáld ki legalább 5 betűvel. Na, ezért veszélyes string-et beolvasni scanf-fel vagy gets-sel. Helyette használd az fgets-t:

fgets(a tömböd neve, hány elemű a tömböd, honnan olvasol);


Például:

char Input[5];

fgets(Input, 5, stdin);

2016. okt. 23. 20:37
Hasznos számodra ez a válasz?

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!