用户输入:
string[0]="我的地址街道";
string[1]="我的街道地址";
string[2]="街道地址";
strstr(string[i]," Street")
// return 0 for string[2], because there is no whitespace before `Street` word
我想让用户仅在最后一个字符串输入Street
,而不是在中间或第一个字符串use strstr();
。
使用反转字符串的一些技巧,然后计数直到遇到空格,然后反转回正常和子字符串[(字符串长度 - 计数),(字符串长度)]
。然后将其与所需的输入(输入字符串末尾的'Street'
)进行比较。如果匹配 -> 通过或循环直到匹配。
最佳答案
谢谢,我用这个。
char address[50];
do{
printf("> ");
scanf("%[^\n]",address);
}while(strstr(address," Street")==0 || strstr(address,"Street ")!=0);
/* user input:
> Orchard Road
> Street
> Street Orchad Road
> Orchad Street Road
> Orchad Road, Street
*/
关于c - 最后输入特定字符串-c程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43172363/