gpt4 book ai didi

c - 在c中不使用Strcmp比较两个字符串的简单方法

转载 作者:行者123 更新时间:2023-11-30 21:43:29 25 4
gpt4 key购买 nike

我需要比较用户在字符串和两个字符串中输入的值,而不使用c中的内置函数或(strcmp)。我已经使用其他语言使用了第一个程序,但它不起作用,所以我创建了第二个程序,在 c 中工作,有没有更好的方法而不需要 while 循环:

这个问题将帮助那些对 C 语言有一定基础知识并且对 JavaScript 或任何其他 oops 语言程序员有很好理解的人突然有兴趣学习 C 编程概念,C 字符串操作与其他语言有何不同,并且想要玩字符串无需使用 c 中的任何内置函数即可进行操作。

    #include<stdio.h>
void main()
{
char ch[80];
printf("Enter Your name:" );
if(scanf("%s",ch) =="hello")
{
printf("hello");
}
else if(scanf("%s",ch) =="saythanku")
{
printf("saythanku");
}
else
{
printf("none");
}
}


Working:


#include<stdio.h>
void main()
{

printf("enter your name");
char ch[80];

scanf("%s",ch);
int a=compare(ch,"hello");

if(a==0)
{
printf("hello");
}
else
{
printf("not hello");
}
}
int compare(char a[], char b[])
{
int c = 0;

while( a[c] == b[c] )
{
if( a[c] == '\0' || b[c] == '\0' )
break;
c++;
}
if( a[c] == '\0' && b[c] == '\0' )
return 0;
else
return -1;
}

简单的任何其他比较

最佳答案

正如 PaulMcKenzie 所提到的,似乎您将其他语言的概念直接应用于 C 编程语言,主要是通过猜测。如果你没有书可以开始,至少使用谷歌来找到一些教程。例如,我输入了“c 字符串简介”,并得到了 - 除其他外 - 这个 link ,这解释了您当前遇到的很多问题。

以下内容并不能回答你的问题,甚至不能解决你的作业,但也许它给了你足够的提示来开始。

c 中的“字符串”是一个字符数组,以 0 结尾(通常写为 '\0'

字符串文字用双引号括起来,即 "hello" (不是 'hello')。

字符串的单个字符可以通过索引访问,例如char c = ch[0] of char c = ch[5]int i=3; char c = ch[i].

迭代字符串字符并查找 A 的循环可能如下所示:

int i=0;
int found = 0;
while (!found && i < 80 && ch[i] != '\0') {
if (ch[i] == 'A')
found = 1;

i++;
}

这并不是一个答案;而是一个答案。只是我也是个初学者(虽然是C以外的其他领域);初学者应该帮助初学者:-)祝学习 C 语言愉快,使用谷歌和好书,并注意这需要一些时间。

关于c - 在c中不使用Strcmp比较两个字符串的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537038/

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