[ xeron @ 11.09.2005. 07:58 ] @
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int integer;
char slovo;
float decimalni;

printf("unesite jedan integer:\n");
scanf("%d",&integer);

printf("unesite jedno slovo\n");
scanf(" %c",&slovo);

printf("unesite jedan decimalni broj:\n");
scanf("%f",&decimalni);

printf("integer = %d\n",integer);
printf("slovo = %c\n",slovo);
printf("decimalni = %f\n",decimalni);

system("PAUSE");
return 0;

Zasto se u ovoj liniji mora staviti razmak prije %C

printf("unesite jedno slovo\n");
scanf(" %c",&slovo);
[ D3adly @ 11.09.2005. 10:19 ] @
Jer će ti inače taj char (razmak) učitatu u varijablu slovo.

[Ovu poruku je menjao D3adly dana 11.09.2005. u 11:20 GMT+1]
[ xeron @ 11.09.2005. 13:11 ] @
mada mi nije 100% jasno, ali hvala
[ Marko Stankovic @ 11.09.2005. 14:22 ] @
Problem je u tome sto kada uneses prvi integer ti lupis enter, pa na standardni ulaz imamo recimo

535'\n'

e sad prvi scanf procita samo broj i stane na znak '\n', pa kada pomocu drugog scanf-a citas karakter prvi karakter sa standardnog ulaza je '\n' odnosno taj enter koji si lupio. Stavljanjem razmaka pod navodnicima ti dajes do znanja funkciji scanf da preskoci sve bele znakove (tabove, razmake, '\n'...) i procita prvi karakter koji ne pripada belim znacima.
Za vise detalja u vezi formata scanf funkcije procitaj http://www.cplusplus.com/ref/cstdio/scanf.html.
Malo sam konfuzno objasnio ali nadam se da si shvatio.
[ xeron @ 12.09.2005. 13:40 ] @
Hvala puno
[ X Files @ 12.09.2005. 13:51 ] @
Koliko se secam, pritisak na taster ENTER (valjda CR+LF ili samo LF), koji si
pritisnuo da bi prihvatio neki unos, moze imati problema pri nekoj sledecoj obradi
koji ove kontrolne karaktere uzima u obzir... Tada mozes koristiti, funkciju fflush(),
koju jos zovu i "gutač return-a".

Npr:

Code:

scanf( "%s", datoteka );
fflush( stdin );