#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main(int argc, const char *argv[])
{
argc++;
int number;
printf("Enter word you would like encoded\n");
scanf ("%s %i", argv[0], atoi(&argv[1]));
printf("%s", argv[1]);
int len = strlen(argv[1]);
for (int i = 0; i < len; i++)
{
char offsetWord;
offsetWord = atoi(argv[i])+len;
putchar(offsetWord);
}
putchar('\n');
return 0;
}
Я пытаюсь создать программу c caesar cipher, которая компилируется из командной строки linux. Требования:Программа Caeser Cipher 'c' - формат% i ожидает аргумент типа int *, но имеет тип int int
1) ./rotn
ABCDEF
nopqrs)
2) ./rotn собаки
Гур dhvpx oebja СБК whzcf bire гур ynml qbt.
3) Запись в файл через «rotn».
./rotn собака лиса
$ кот лиса
Гур dhvpx oebja СБК whzcf bire гур ynml qbt.
4) с использованием различных сдвигов ./rotn -8 собака
Bpm ycqks jzwev ФНБ rcuxa wdmz уд TIHG Lwo.
Это все, что я получил. Я погрязнуть компиляции ошибок, то одна у меня прямо сейчас «формат предупреждения% я ожидает аргумент типа Int *, но аргумент 3 имеет тип междунар.
Любые предложения?
Спасибо за помощь
Ошибка возникает из-за того, Целочисленным указателем является тип 'int *'. Однако вы не 'scanf' значения' argv'. Вы просто читаете их, и они представляют собой имя команды и аргументы командной строки. Они уже предусмотрены для вас из командной строки. Если вы хотите читать значения позже от пользователя, используйте свои собственные переменные, а не те, которые прошли через 'main'. – lurker
Какова была цель 'argC++;', которую вы даже не используете (или проверяете)? –