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 2013-05-09 22:26:25
,只給了我一個警告:「賦值使整型指針沒有投射」 – JoakimH 2013-05-09 22:41:59
永遠不會忽略警告。除非你有一個很好的理由。即使如此,修復它。這個警告特別是在您弄亂指針時忽略的非常危險。使其指向隨機數據。提示:如果您使用GCC,請使用'-Wall -pedantic'進行編譯。 – Kninnug 2013-05-09 22:45:53