C库函数strcspn()计算两个字符串中第一次出现的字符之前的字符数长度。句法:
strcspn(const char *str1, const char *str2) 参数: str1 :The Target string in which search has to be made. str2 :Argument string containing characters to match in target string. 返回值: This function returns the number of characters before the 1st occurrence of character present in both the string.
// C code to demonstrate the working of
// strcspn()
#include <stdio.h>
#include <string.h>
int main()
{
int size;
// initializing strings
char str1[] = "geeksforgeeks";
char str2[] = "kfc";
// using strcspn() to calculate initial chars
// before 1st matching chars.
// returns 3
size = strcspn(str1, str2);
printf("The unmatched characters before first matched character: %d\n", size);
}
输出:
The unmatched characters before first matched character: 3
实际应用:该函数可以有许多实际应用,无论是文字游戏还是不规则计算器。本文演示了一个简单的文字游戏。
规则:根据此游戏,有2位玩家参加比赛,其中1位玩家最初生成了一个字符串,并被要求生成一个字符串,该字符串包含许多不匹配的字符。 1回合后,产生最多字符的字符串的玩家获胜。
// C code to demonstrate the application of
// strcspn()
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int score1 = 0, score2 = 0, k = 0, sizen = 0, size = 0;
// initial Round1 strings
char player1[] = "geeks";
char play2[] = "";
while (1) {
// generating random character
char randoml = 'a' + (random() % 26);
play2[k++] = randoml;
size = strcspn(play2, player1);
if (size == sizen) {
// if the character is present, break
score2 = size;
break;
}
else {
sizen = size;
}
}
// initial Round2 strings
const char player2[] = "geeks";
char play1[] = "";
k = 0, sizen = 0;
while (1) {
// generating random character
char randoml = 'a' + (random() % 26);
play1[k++] = randoml;
size = strcspn(play1, player2);
if (size == sizen) {
// if the character is present, break
score1 = size;
break;
}
else {
sizen = size;
}
}
if (score1 > score2)
printf("Player 1 won!! Score:%d", score1);
else if (score2 > score1)
printf("Player 2 won!! Score:%d", score2);
else
printf("Match Drawn!! Score:%d", score1);
}
输出:
Match Drawn!! Score:2
相关用法
- C++ strcspn()用法及代码示例
- Java HijrahDate getEra()用法及代码示例
- Java HijrahDate getChronology()用法及代码示例
- Java HijrahDate equals()用法及代码示例
- Java HijrahDate atTime()用法及代码示例
- Java HijrahChronology range()用法及代码示例
- Java HijrahChronology zonedDateTime(TemporalAccessor)用法及代码示例
注:本文由纯净天空筛选整理自Vaishnavi tripathi大神的英文原创作品 strcspn() in C。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。