Я пытался заставить этот код работать, чтобы зашифровать массив указателей *char[]
с использованием ROT13-шифрования. Пара проблем:Для инициализации массива нужны фигурные скобки
- Программа не компилируется. Ошибка: «текст»: для инициализации массива нужны фигурные скобки.
- ROT13, похоже, работает неправильно. Он сохраняет числовое значение кода ASCII, а не его эквивалентную букву.
Вот мой код:
void rot13(int numlines, char * text[]){
//printf("%s\n", text);
//char encrypted[length(text)];
for (int i=0; text[i]>='\0'; i++){
if (*text[i]>='A' && *text[i]<='Z'){
*text[i]=(((*text[i]-'A')+13)%26 + 'A');
}else if(*text[i]>='a' && *text[i]<='z'){
*text[i]=(((*text[i]-'a')+13)%26 + 'a');
}
}
printf ("%d\n ",*text);
}
int main(){
char text1[]="parliament";
char * text[]=&text1;
rot13(10, text);
}
Итак, вы пытались установить фигурные скобки вокруг этой инициализации? (Линия, с которой она имеет проблемы, должна быть 'char * text [] = &text2;') – dyp
@dyp, что такое 'text2'? –
@CoolGuy Опечатка. Разумеется, это должен быть «текст1». – dyp