Gdzie jest błąd?

0

Witam!
Nie wiem dlaczego na wyjsciu mam "NULL" zamiast tego co jest w t[1]. Ma ktos jakies pomysly?

#include <stdio.h>



int main()
{

char t[260];

int i,n;

scanf("%d", &n);

for(i=0; i<n; i++)

{

    scanf("%s", t);


}

printf("%s", t[2]);




return 0;

}
 
0

Po pierwsze powinno być %c zamiast %s, po drugie gdzie jest & w drugim scanf?

0

Poprawiłem na t[i] ale niezależnie czy mam & przy drugim scanf czy nie program i tak sie wysypuje. Ma ktos jakies pomysly?

Ok, po zmianie na c dziala. Ale dlaczego printf wypisuje mi 1 literke a nie caly ciag znakow? W drugim scanf zapisalem w pamieci caly ciag

0

Jak chcesz wypisać ciąg od drugiego znaku to powinieneś dac:

 printf("%s", &t[2]);
0

Ehh.. nadal nie działa

 #include <stdio.h>



int main()
{

char t[260];

int i,n;

scanf("%d", &n);

for(i=0; i<n; i++)

{

    scanf("%s", t[i]);


}

printf("%s", t[2]);




return 0;

}

Jakies pomysly?

0
scanf("%s", t[i]);
// ma byc
scanf("%c", &t[i]);
printf("%s", t[2]);
// ma byc
printf("%s", t);
0

No dobra, ale ja chce miec te ciagi znajow jako pojdyncze miejsce w tablicy.

Wpisuje sobie:
4
qwer
asdfgg
zxcgdfg
yuityuiyuiy

i wtedy moim t[0] jest qwer
t[1] asdfgg

itd..

0

W takim przypadku potrzebujesz tablicy stringów, patrz http://www.tutorialspoint.com/c_standard_library/string_h.htm. Char to pojedynczy znak a nie ich ciąg.

0

Napisz co chcesz uzyskać, bo tak błądzimy jak we mgle. Kryształowa kula jest w naprawie, a Twoje kolejne przykłady, które nie działają (bo nie maja prawa działać) sa jeszcze gorsze... Napisz może po kolei (jak to mawiają w PKP), co chcesz uzyskać tym kodem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1