簡體   English   中英

尋找最后一個角色

[英]Finding last character

我是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;
}

您不分配result 你可能是說

result = c[pos];

而不是endchr = c[pos];

endchr是字符指針而不是字符。

#include <stdio.h>
#include <string.h>

char last_chr(char *c);

int main (int argc, const char * argv[]) {
    char text[32];//char *text[15]

    strcpy(text, "*find:last;char#");//length is 17

    printf("last char: %c", last_chr(text));//#

    return 0;
}

char last_chr(char *c) {
    if(c == NULL || *c == '\0') return 0;
    return c[strlen(c)-1];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM