Δημοσιεύτηκε: 07 Ιούλ 2011, 16:21
από migf1
Πρέπει μετά το "Dwse kati" να το βάλεις να διαβάσει αυτό το κάτι, και μετά να του πεις να το τυπώσει αυτό το κάτι. Εσύ δεν καλείς καν την s_get() συν ότι προσπαθείς με την puts(s) να τυπώσεις το s, που όχι μόνο δεν το έχεις διαβάσει από την είσοδο, αλλά δεν το έχεις καν σαν string... το έχεις ορίσει απλά ως δείκτη σε char.

Ο παρακάτω κώδικας κάνει αυτό που ζήτησες..
Κώδικας: Επιλογή όλων

#include <stdio.h>

char *s_get(char *s, int n)
{
register char *cp;
for (cp=s; (*cp=fgetc( stdin )) != '\n' && (cp-s) < n-1; cp++ )
; // for-loop με κενό σώμα
*cp = '\0';

return s;
}

int main( void )
{
const int n = 255+1;
char s[n];

printf("dvse kati: ");
s_get(s, n);
puts( s );

return 0;
}