#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main(int argc,string argv[])
{
int i,n,q,r;
if (argc==2)
{
string p = argv[1];
int k = atoi(p);
printf("plaintext: ");
string s = get_string ();
n = strlen(s);
printf("%i,%i,%s\n",k,n,s);
char c[n];
for (i=0; i<n; i++)
{ if (isalpha('s[i]'))
{ if (islower('s[i]'))
{ q = s[i];
r = (((q + k-97)%26)+97);
c[i]=r;
printf("%i,%c,%c\n",r,s[i],c[i]);
}
else if (isupper('s[i]'))
{ q = s[i];
r = (((q + k-65)%26)+65);
c[i] = r;
printf("%i,%c,%c\n",r,s[i],c[i]);
} }
else
{ c[i] = s[i];
printf("%c\n",c[i]);
}
}
}
else
{ printf ("Usage: ./caeser k\n");
}
return 0;g50
}
Program compiles. On execution with ./caeser 2, I am getting this error: plaintext: Hello! 2,6,Hello! Segmentation fault