问题描述:编写函效 int strFind(char str[ ],char c) 在字符串str中查找指定字符c。如果有该字符,则返回该字符在字符串中第一次出现的位置;否则返回-1。在main函数中调用该函数。
在strFind函数的编写中,要注意题目要求的是得出该字符在字符串中第一次出现的位置,如果在第一位是1,而在字符串数组中的下标则是0。
因此若该字符所在位置下标为 i 时,其
实际位置为 i+1。
for(int i=0;i<strlen(str);i++){
if(str[i]==c){ //i为下标
t=i+1; //t为实际位置
}
}
测试结果:
全部代码:
#include <stdio.h> #include <string.h> int strFind(char str[], char c) { int t=-1; for(int i=0;i<strlen(str);i++){ if(str[i]==c){ t=i+1; break; } else t=-1; } return t; } int main() { char string[1024]; printf("请输入要比较的字符串:"); gets(string); char c; printf("请输入要查找的字符:"); c = getchar(); int a=strFind(string,c); printf("%c在字符串中的位置是:%d",c,a); return 0; }