鱼C论坛

 找回密码
 立即注册
查看: 2892|回复: 5

while条件可以用字符串吗

[复制链接]
发表于 2017-5-6 19:54:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
int main (void)
{
    char key[40];
    printf("Please enter cipher:");
    scanf("%s", &key);
    while (key != "pizza")
    {
        printf("\nfalse!\nPlease enter cipher:");
        scanf("%s",&key);
    }
    printf("True!");

    return 0;
}
代码如上,输对也跳不出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-5-6 19:56:41 | 显示全部楼层
#include <stdio.h>
int main (void)
{
    int key;
    printf("Please enter cipher:");
    scanf("%d", &key);
    while (key != 9)
    {
        printf("\nfalse!\nPlease enter cipher:");
        scanf("%d",&key);
    }
    printf("True!");

    return 0;
}
数字的话就可以是字符串条件不应该这样设定吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-6 21:21:53 | 显示全部楼层
本帖最后由 huangz5426 于 2017-5-6 21:34 编辑
#include <stdio.h>
#include <string.h>        //加了个头文件

int main (void)
{
    char key[40];
    printf("Please enter cipher:");
    scanf("%s", &key);
        
   // while (key != "pizza")
        
        while ( strcmp(key,"pizza") )        //楼主百度以下strcmp吧
    {
        printf("\nfalse!\nPlease enter cipher:");                
        scanf("%s",&key);
                
    }
    printf("True!\n");

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-6 22:41:55 | 显示全部楼层
利用strcmp函数来比较
while(strcmp(key,"pizza")!=0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-7 23:22:33 | 显示全部楼层

不好意思,应该改为while(strcmp(key,"pizza") != 0)

本帖最后由 为了明天而加 于 2017-5-7 23:24 编辑

其实楼主这段代码存在错误哦。第八行中,在scanf函数中,既然是输入字符串,key前面就不能加取地址符号&。因为数组名本身就是数组的首地址。所以在第八和第十五行中去掉&。另外,你的while循环语句的循环条件也不恰当,因为key 与“pizza"的比较会出现三种情况,等于0,小于0,大于0。小于或等于0都会被判断为”假“,因此应该把循环条件改为while(strcmp(key,"pizza")==0)。这样应该据没什么问题了。希望对你有帮助,不懂可以追问
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-8 14:54:26 | 显示全部楼层
C语言没有 str="dahdadiah"这种比较方法,这比较的是两个地址,不可能相等的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 06:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表