0
저는 C를 처음 사용하고 문자열을 검사하고 마지막 문자를 반환하는 함수를 만들려고합니다.마지막 문자 찾기
나는 함수가 원하는 문자를 인쇄 할 수 있지만, 나는 그것을 반환하는 방법을 알아낼 질수 :/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char last_chr(char *c);
int main (int argc, const char * argv[]) {
char *text[15];
strcpy(text, "*find:last;char#");
last_chr(text); //debugging
//printf("last char: %c", last_chr(text)); //not working
return 0;
}
char last_chr(char *c) {
char *endchr;
char result;
int pos = strlen(c)-1;
endchr = c[pos];
//sprintf(result,"%s",endchr); //"EXEC_BAD_ACCESS"
putchar(endchr); //prints #
//putc(endchr, result); //"EXEC_BAD_ACCESS"
//printf(endchr); //"EXEC_BAD_ACCESS"
return result;
}
'endchr = c [pos];도 오류가 있습니까? – Kninnug
"캐스팅없이 정수에서 포인터를 지정하면 포인터가 포인터가됩니다" – JoakimH
결코 경고를 무시하지 마십시오. 당신에게 정말 좋은 이유가 없다면 말이지. 그리고 나서조차 그것을 고쳐라. 이 경고는 특히 포인터를 망칠 때 무시하는 것이 매우 위험합니다. 랜덤 데이터를 가리키게합니다. 힌트 : GCC를 사용한다면'-Wall -pedantic'으로 컴파일하십시오. – Kninnug