안녕하세요 스페로 입니다.
제 답변을 이해 못하신건지.. 프로그램은 순서도 중요하고
c = a ^ b;
이문장을 그 위치에 쓰시는 거 보니 아직 공부가 덜되신거 같고 문자열을 위한 방법이나.
문자열을 하나하나 ^ 연산을 위해 루프를 돌려야 한다는것도 이해하시기 힘드신거 같아
그냥 허접하게 짜봣음니다.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char key;
char * passwd;
char result_passwd[10];
int i;
passwd = malloc(10);
printf("자신이 원하는 단어 입력하시오.(영문 10자 이내) 한칸띠고 비밀키 입력하세요\n");
scanf("%s %c", passwd ,&key);
for (i=0; i<strlen(passwd); i++) /* XOR 연산으로 암호화 */
{
result_passwd[i] = passwd[i] ^ key;
}
result_passwd[i] = '\0';
printf("1: %s \n" , result_passwd);
for (i=0; i<strlen(passwd); i++) /* XOR 연산으로 원래 문자열로.. 변환 */
{
result_passwd[i] = result_passwd[i] ^ key;
}
result_passwd[i] = '\0';
printf("1: %s \n" , result_passwd);
return 0;
??? 님이 쓰신 글 :
: #include <stdio.h>
:
: int main(int argc, char* argv[])
:
: {
:
: char a,b;
: a=a[10];
: b=b[1];
: char c;
: c = a ^ b;
:
: printf("자신이 원하는 단어 입력하시오.(영문 10자 이내) \n");
: scanf("%s \n",&a);
: printf("비밀키 입력하시오.(영문 1자) \n");
: scanf("%c \n",&b);
:
: printf("1: %s \n" , c); //<== XOR에 의해 변형
: printf("1: %d \n" , c); //<== XOR에 의해 변형된 값을 숫자로 표시 해보자
:
: c = c ^ b;
: printf("2: %s \n" , c); //<== 한번더 b로 XOR하면 원래 a문자 출력
:
: return 0;
: }
:
: 이렇게 해봤는데 2개가 틀렸다고 했는데 뭐가 틀린지 모르겠어엽 ㅠ.ㅠ 1시간동안 골똘이 생각해도.. 쩝
:
|