Code:
#include <stdio.h>
#define IN 1 /* unutar riječi */
#define OUT 0 /* van riječi */
// "glavni" program
int main (int argc, char *argv[])
{
printf ("Hello world!\n");
int broj;
char slovo[15];
const char rec[]="ZDRAVO1";
char *reci="zdravo";
printf("uvodna rec ... %s ... \n",rec);
printf("uvodna rec ... %s ... \n\n",reci);
//izmenjene reci
printf("unesi neke reci ... ");
scanf("%10s",&reci); //ovo zbog necega ne radi
reci="asd"; // radi nova dodela - privremeni red da ne bi program stao
printf("uvodna rec ... %10s ... \n\n",reci);
printf("unesite neki broj ...");
scanf("%d",&broj);
printf("\nuneto je %d\n",broj);
printf("\nUnesi neko slovo...");
scanf("%15s",&slovo);
printf("\nuneto je %15s \n",slovo);
// deo koji kod mene nista ne radi sem sto uleti u beskonacnu petlju
/* zbraja linije, riječi i znakove na ulazu */
int c, nl, nw, nc, state;
state=OUT;
nl=nw=nc=0;
while((c=getchar())!=EOF)
{
++nc;
if(c=='\n')
++nl;
if(c==' '||c=='\n'||c=='\t')
state=OUT;
else if(state==OUT)
{
state=IN;
++nw;
}
}
return 0;
}
#include <stdio.h>
#define IN 1 /* unutar riječi */
#define OUT 0 /* van riječi */
// "glavni" program
int main (int argc, char *argv[])
{
printf ("Hello world!\n");
int broj;
char slovo[15];
const char rec[]="ZDRAVO1";
char *reci="zdravo";
printf("uvodna rec ... %s ... \n",rec);
printf("uvodna rec ... %s ... \n\n",reci);
//izmenjene reci
printf("unesi neke reci ... ");
scanf("%10s",&reci); //ovo zbog necega ne radi
reci="asd"; // radi nova dodela - privremeni red da ne bi program stao
printf("uvodna rec ... %10s ... \n\n",reci);
printf("unesite neki broj ...");
scanf("%d",&broj);
printf("\nuneto je %d\n",broj);
printf("\nUnesi neko slovo...");
scanf("%15s",&slovo);
printf("\nuneto je %15s \n",slovo);
// deo koji kod mene nista ne radi sem sto uleti u beskonacnu petlju
/* zbraja linije, riječi i znakove na ulazu */
int c, nl, nw, nc, state;
state=OUT;
nl=nw=nc=0;
while((c=getchar())!=EOF)
{
++nc;
if(c=='\n')
++nl;
if(c==' '||c=='\n'||c=='\t')
state=OUT;
else if(state==OUT)
{
state=IN;
++nw;
}
}
return 0;
}
Non-stop mi prijavljuje grešku (upozorenje) kod scanf:
Code:
scanf("%10s",&reci);
scanf("%10s",&reci);
format '%10s' excepts type 'char *', but argument 2 has type 'char **'
Program se izvršava bez problema (u tom delu). Kada je iskompajlirano pod Win, radi bez ikakvog upozorenja
Takođe, deo
Code:
printf("unesi neke reci ... ");
scanf("%10s",&reci); //ovo zbog necega ne radi
printf("uvodna rec ... %10s ... \n\n",reci);
printf("unesi neke reci ... ");
scanf("%10s",&reci); //ovo zbog necega ne radi
printf("uvodna rec ... %10s ... \n\n",reci);
neće da stampa direktno dodeljen string, već izbacuje poruku o grešci i zaustavlja izvršavanje programa
bash: line 1: 4236 Segmentation fault / .... /KonzolaC
deo sa getchar() - rezultira beskonačnom petljom. To nije moj kod, već iz tutorijala. šta tu ne valja?
Ispravka: Sve je OK sa ovim delom koda. Kretala sam od pogrešne pretpostavke da je kraj unosa/izvršavanja CTRL+Break a treba CTRL+D za Unix/Linux, CTRL+Z za Win
[Ovu poruku je menjao EmmaR dana 13.11.2012. u 22:35 GMT+1]
ER