Я написал простой код, чтобы проверить, присутствует ли данный символ в строке, введенной пользователем, но она не работает.Простой код C не работает
#include<stdio.h>
#include<string.h>
int main()
{
char a[20],b;
int i,p=0,n;
printf("Enter the string-");
scanf("%s",a);
printf("\nEnter the character-");
scanf("%c",&b);
n=strlen(a);
for(i=0;i<n;i++)
{
if(a[i]==b)
{
printf("\ncharacter is present in string\n");
p=1;
break;
}
}
if(p==0)
printf("\nchracter is not present in string\n");
return 0;
}
выход я получаю это: http://i58.tinypic.com/2gvnedt.png
Я не понимаю, что это неправильно с кодом. Если я заменил «scanf («% s », a);» с «получает (а)»; он отлично работает. Зачем?
Справка приветствуется. Благодаря!
Как в качестве примечания стороны, не используйте 'gets', он был удален из стандарта C. Вместо этого используйте 'fgets'. –