我想解析一个字符串并对字符串的最后一个字符进行一些检查.例如:
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)