在C中解析一个字符串

use*_*966 2 c string parsing

我想解析一个字符串并对字符串的最后一个字符进行一些检查.例如:

char *name = "angela";

int i;
for(i = 0; i <= strlen(name); i++) {
    if(name[i] == 'a' && i == strlen(name)) {
        *do something here*;
     }
}
Run Code Online (Sandbox Code Playgroud)

我试过这个,但没有任何反应.为什么这不起作用?

Pau*_*l R 10

更改:

for(i = 0; i <= strlen(name); i++) {
    if(name[i] == 'a' && i == strlen(name)) {
Run Code Online (Sandbox Code Playgroud)

至:

for(i = 0; i < strlen(name); i++) {
    if(name[i] == 'a' && i == strlen(name) - 1) {
Run Code Online (Sandbox Code Playgroud)

原因:对于总共字符,C字符串中的第一个字符s具有索引0,而最后一个字符具有索引.strlen(s) - 1strlen(s)