c - 最后输入特定字符串-c程序

标签 c

用户输入:
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/

相关文章:

c - 用于计算机理解的管道

c - 使用外部指针声明外部函数时出错

c - 结构成员如何在内存中分配?

c - 我对输出文件执行 "rm"后,C 程序将输出写入哪里?

c - SPARC v9 是否有双字比较和交换指令?

c - C 程序员的算法和数据结构实现

我们可以使用 gcov 在 C/C++ 源文件中找到可执行代码行吗

将负十进制数转换为二进制数

c - 如何订阅内核回调消息?

c - 超时阻塞函数调用,没有线程,没有外部库