Строка заполняется и выводится, а функция не работает - C (СИ)
Формулировка задачи:
добрый день))
у меня такая проблемка, программа компилируется, изначально строка заполняется и выводится, а функция не работает, не знаю, где я там напортачила и чего
// opredelitj skoljko raznih simvolov v stroke (simvoli vivesti)
#include<stdio.h>
#include<string.h>
#define N 600
// vivod unikaljnih simvolov
void Print(char *s);//prototip funkcii
//zapolnenie stoki, na4alo ispolnenija programmi
int main()
{
char c;//peremennajan dlja vvedennogo simvola
char stroka[N];//sozdaetsja massiv char
int i=0;//inicializacija s4et4ika
printf("*.variant");
printf("\n");
puts("\nvvedite stroku simvolov:");
while((c=getchar())!='\n')
{
stroka[i++]=c;
}//konec cikla while
stroka[i]='\0';//ograni4itj stroku
puts("\nStroka kotoruju vi vveli:");
printf("\n");
puts(stroka);
system("pause");
return 0;
}//konec main
void Print(char *s)
{
int k, count[256] = {0};
for (k = 0; s[k]; k++)
count[s[k]]++;
for (k = 0; s[k]; k++)
if (count[s[k]] == 1)
printf("%c\n", s[k]);
system("pause");
}//konec funkciiРешение задачи: «Строка заполняется и выводится, а функция не работает»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main(void){
char buf[BUFSIZ], *p;
while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){
printf("Singles: ");
for ( p = buf; *p; ++p )
if ( strchr(buf, *p) == p )
printf("%c", *p);
printf("\n");
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
<stdio.h>и<string.h>. - Объявление переменных:
char buf[BUFSIZ]и*p; - Вход в цикл
while, который будет выполняться до тех пор, пока пользователь не введет пустую строку. - Внутри цикла происходит вывод сообщения
String:и считывание строки с помощью функцииscanf, введенная строка сохраняется в переменнойbuf. - После успешного считывания строки, происходит вывод сообщения
Singles:и итерация по символам введенной строки. - Для каждого символа проверяется, является ли он уникальным в строке с помощью функции
strchr. Если символ является уникальным, он выводится на экран. - После вывода всех уникальных символов, происходит переход к следующей итерации цикла.
- По завершению цикла, программа завершается с возвратом значения 0.