亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您好,以下內容是關于C語言 strcspn()的問題!

您好,以下內容是關于C語言 strcspn()的問題!

喵喵時光機 2021-11-01 10:06:08
#include <stdio.h>#include <string.h>int main(){int i;char *str1 = "agfedcba";char *str2 = "cba";i = strcspn(str1, str2);printf("%d\n",i);return 0;}求str2 在 str1中首次出現的位置 為什么結果是0??
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

size_t strcspn(
const char *str,
const char *strCharSet
);

對返回值的描述如下:
These functions return the index of the first character in str that is in strCharSet.
If none of the characters in str is in strCharSet, then the return value is the length of str.

No return value is reserved to indicate an error.

我的理解如下:
這個函數的的功能是,字符串str中第一次出現的某個字符,這個字符同時存在于 strCharSet中,返回這個字符在str中的索引值。
若字符串strCharSet 中,都沒有一個字符和 str中的相同,則返回str的字符串長度。
若無返回值則 出錯。
描述得可能不太清楚,舉個例子(第一個參數描述為str,第二個參數描述為strCharSet ):
1、strcspn( "xyzbxz", "abc" ) = 3 ,str中第一次出現 strCharSet 中存在的字符'b' ,該'b'在str里面的索引是3。所以返回值為3
2、strcspn("agfedcba", "cba") = 0 ,str中第一個字符'a' 在 strCharSet 存在,所以返回值為 0
3、strcspn( "xyzbxz", "" ) = 6 ,str中的任何一個字符,在strCharSet 都不存在一樣的,所以返回str字符串的長度。



查看完整回答
反對 回復 2021-11-06
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

這個函數是返回str2中任何一個字符,在str1中最先出現的位置
str1中c,b,a在str2中最先出現的是a所以返回0
你要找的是strstr函數,它返回str1在str2中最先出現的位置,不過這個位置是個指針

查看完整回答
反對 回復 2021-11-06
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

功能:順序在字符串s1中搜尋與s2中字符的第一個相同字符,包括結束符NULL,返回這個字符在S1中第一次出現的位置。
就是說找兩個都有的字符,str2 、 str1都有a,在str1下標0就是a

查看完整回答
反對 回復 2021-11-06
  • 3 回答
  • 0 關注
  • 283 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號