Программа получает строку из ввода и ищет n-го символа в строке в другой введенной строке. Если первый символ из первой строки находится во второй строке, программа выведет символ, если не будет напечатано никакое совпадение символов. Программы выглядит следующим образом:переменная только для чтения из строки не назначается в for-loop C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
const char s[1000], i;
printf("Enter a string: ");
scanf("%s", s);
const char str1[1000];
printf("Enter a string: ");
scanf("%s", str1);
// int b;
for(i = 0; str1[i] != '\0'; ++i){
b = i;
}
for(i = 0; i < b; i++){
char *ret;
ret = strpbrk(s, s[i]);
if(ret)
{
printf("First matching character: %c\n", *ret);
}
else
{
printf("no char match \n");
}
}
return(0);
}
Ошибка в обоих для петель и состояний:
error: read-only variable not assignable
Кроме того состояния ошибки:
note: passing argument to parameter here
Не используйте 'const', если вы хотите иметь возможность назначать переменным ... – interjay
Если вы объявляете' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' на самом деле, только если вы предоставляете инициализатор). Просто удалите 'const'! И использование 'const char i' в качестве индекса цикла для работы над массивом размером до 1000 имеет всевозможные проблемы. Вы не можете его изменить; он не будет содержать все необходимые значения. –
Почему вы используете 'const'? – raymai97