Посимвольный вывод строки на Си
Всем привет! Хотел написать программу, которая будет выводить строки посимвольно. Имеется такой код(на Си не программировал, поэтому строго прошу не судить).
#include <stdio.h>
int main() {
char *s = "@xxxACK2.00E+1;FF";
char *p = s;
while (*p) {
printf("%s\n", p);
p++;
}
return 0;
}
Ожидал, что вывод будет посимвольно, но на самом деле вывод такой. Может кто нибудь объяснить как сделать чтобы вывод был посимвольным?
@xxxACK2.00E+1;FF
xxxACK2.00E+1;FF
xxACK2.00E+1;FF
xACK2.00E+1;FF
ACK2.00E+1;FF
CK2.00E+1;FF
K2.00E+1;FF
2.00E+1;FF
.00E+1;FF
00E+1;FF
0E+1;FF
E+1;FF
+1;FF
1;FF
;FF
FF
F
Ответы (2 шт):
Автор решения: Аркадий
→ Ссылка
Вы выводите строку (%s). Нужно выводить символ.
/* ... */
printf(
/* Вывод символа */
"%c\n",
/* разыменование указателя */
*p);
/* ... */