字符串(字符串可以有空格), 在给定的一组字符串中寻找该输入字符串, 若找到,则打印该字符串,否则打印Not find!。每日一题"/>
从键盘任意输入一个字符串(字符串可以有空格), 在给定的一组字符串中寻找该输入字符串, 若找到,则打印该字符串,否则打印Not find!。每日一题
从键盘任意输入一个字符串(字符串可以有空格), 在给定的一组字符串中寻找该输入字符串, 若找到,则打印该字符串,否则打印"Not find!"。
对应标号注释在下面
#include <string.h>
#include <stdio.h>
int main()
{int i=0, findFlag = 1;//————————————1char x[50];char *str[]={ "Pascal","Basic","Fortran", "Java","Visual C", "Visual Basic" };printf("Input string:\n");gets(x);while (i < 6 && findFlag){//int a =strcmp(x, str[i]);————————————2if (strcmp(x, str[i])==0)//只要有数字,就会变成进去————————————3—————————————4{findFlag = 0;}i++;}if (!findFlag){printf("%s\n",x);}else{printf("Not find!\n");}}
1
flag我很少用这种方式。
2
strcmp函数:
在string这个头文件里面,通过比较相应位置的字符ascall码大小来比较字符串:
· srcmp(字符串1,字符串2)
· 从第一个字符开始比较,如果到最后两个字符串完全相同,则strcmp()函数输出的值为0;
· 若开始出现不同的字符,根据这个字符ASCII码进行比较
大于 0 —> 1 的ascall码大于2;
反之,输出值 小于 0;
3
只有完全相等等于零才可以进入块语句,容易忽略非零就可以进入if语句
4
if语句容易忘记的地方 —> 条件为假或者表达式为零,就不进入块语句
#include <stdio.h>
int main( )
{if (0) {printf("hanhan\n");}if (1) {printf("ringt\n");}
}
或者
#include <stdio.h>
int main( )
{if (-1) {printf("hanhan\n");}if (1) {printf("ringt\n");}
}
结果:
ringt
Program ended with exit code: 0
或者
hanhan
ringt
Program ended with exit code: 0
更多推荐
从键盘任意输入一个字符串(字符串可以有空格), 在给定的一组字符串中寻找该输入字符串, 若找到,则打印该字符串,否则打印Not find!。每日一题
发布评论