gpt4 book ai didi

c - 编写一个将 "12#abcd#09bla"转换为 "abcd"的函数

转载 作者:行者123 更新时间:2023-12-01 06:16:37 25 4
gpt4 key购买 nike

经过大量的反复试验,我是这样做的:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


/*Prototype of a hashtag function*/
void hashtag(char *,char *);

int main()
{
/* Declaration of strings S and P*/
char S[100], P[100]="";

/*Getting the string S from a keyboard*/
printf("Unesi string S: ");
gets(S);

/*Calling "hashtag"*/
hashtag(S,P);
}
/*Hashtag function*/
void hashtag(char *S,char *P)
{
/*Finding the position of 2 #'s in string S*/
int i, t1, t2;
for(i=0;i<100;i++)
{
if(S[i]=='#')
{
t1=i;
break;
}
}
for(i=100;i>0;i--)
{
if(S[i]=='#')
{
t2=i;
break;
}
}
/*"Filling" the empty string P with the text in between #'s*/
int k;
for(i=t1+1,k=0;i<t2,k<(t2-t1-1);i++,k++)
{
P[k]=S[i];
}
puts(P);
}

为什么我有这种可怕的感觉,觉得这太复杂了?我觉得没有必要找到确切的位置,而且可以比这更简单。

最佳答案

void hashtag(char *S, char *P){
sscanf(S, "%*[^#]#%[^#]", P);
puts(P);
}

关于c - 编写一个将 "12#abcd#09bla"转换为 "abcd"的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27929933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com