기본적으로 단순한 시저 키퍼 프로그램 (간단하게 하드 코드 된 키 12로 ASCII 문자를 이동)을 작성했지만 C에 익숙하지 않아 포인터에 문제가있어서 입력으로 char 배열을 수락하고 그것들을 출력으로 돌려 보냅니다.C에서 포인터를 사용하는 데 문제가 있고 함수에서 사용하는 경우
여기까지 내가 지금까지 얻은 바가 있습니다. 무엇이 잘못되었는지 알아 내도록 도와 줄 수 있습니까?
미리 감사드립니다.
#include<string.h>
#include<stdio.h>
int main() {
char hello[50][50] = {{'h','e','l','l','o'}, {'h','r','u','\0'}};
hello = encrypt(hello);
printf("%s", hello[50][50]);
}
char** encrypt(char text[50][50]) {
int i,j;
for(i=0; i<50; i++) {
for(j=0; j<50; j++) {
if (text[i][j]!='\0') {
text[i][j] = (char)((int)text[i][j]+12)%256;
} else {
break;
}
}
}
return text[50][50];
}
char** decrypt(char text[50][50]) {
int i,j;
for(i=0; i<50; i++) {
for(j=0; j<50; j++) {
if (text[i]!='\0') {
text[i][j] = (char)((int)text[i][j]-12)%256;
} else {
break;
}
}
}
return text[50][50];
}
어떤 문제가 있습니까? 무슨 일이 생기고 그 대신에 무엇을 기대 했습니까? – sth
포인터가 손실되었습니다. 항상 호환되지 않는 형식 오류가 발생합니다. 그러면이 작은 데모를 어떻게 작동시킬 수 있습니까? – Dave
컴파일러가 어떤 라인을 가지고 있습니까? 오류 메시지를 통해 오류의 원인을 알 수 있습니다. –