【发布时间】:2016-05-28 01:47:16
【问题描述】:
我写了这段代码,我想输入一个文本,比如"helloWorld",然后比较它,如果它与输入的文本匹配,那么它应该打印文本 101 次。但是,它不起作用,因为它似乎没有比较 if (string == "helloWorld") 中的字符串,它直接跳到 else 部分。请提供有关如何操作的必要详细信息。
这是我的代码:
#include<stdio.h>
#include<conio.h>
void main()
{
int i;
char string[30];
clrscr();
printf("Enter the string 'helloWorld' if you wanna see magic\n");
scanf ("%s", string);
printf("Your enterred Input is %s\n", string);
if (string == "helloWorld")
{
for (i=0;i<=100;i++)
{
printf("%s\n",string);
}
}
else
{
printf("Invalid Input\n");
}
getch();
}
另外,我知道在 C 中如果我们在 C 中使用 char variable[sting_length] 输入字符串,我们必须输入字符串没有任何空格。但是,有什么方法可以输入像“Hello World”这样的字符串,并且仍然可以完全打印/比较整个内容?
【问题讨论】:
-
您无法将 C 字符串与
==运算符进行比较。这将比较它们的地址,而不是它们的内容。查找标准的strcmp函数。 -
“我们必须输入不带任何空格的字符串” - 嗯?如果“我们”是指你班上的人,这可能是你老师的限制。但对于其余部分,这是无稽之谈,C 标准没有强制要求。
标签: c string compare string-comparison