unknown404
2019-05-07 11:14
采纳率: 83.3%
浏览 544

C语言实现字符串密码对比问题,恳请大佬帮忙

想实现一个函数如对比输入密码,输入正确提示, 错误则从新输入.
代码如下

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

char * password();

char * password()
{
    char pw[10];
    //char right_pw[10] = {"wojiao"};
    while(0)
    {
        printf("输入密码:");
        scanf("%s", pw);
        if(strcmp(pw, "wojiao") == 0)
        {
            printf("正确\n");
        }
        else
        {
            printf("重新输入");
        }
    }
    return 0;
}

报错是这样的:
图片说明

另外还想问下 为什么声明函数的时候 函数名前面要加个 *?
希望大佬不吝赐教,先行谢过了!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • s11811247 2019-05-07 11:20
    已采纳

    你这个代码没有main函数呢,怎么运行

    已采纳该答案
    打赏 评论
  • threenewbee 2019-05-07 11:22

    char * password()
    修改为
    int password()

    再写一个主程序
    int main()
    {
    password();
    }

    打赏 评论
  • 502203305 2019-05-07 11:52

    正确了应该直接返回。
    即在输出正确下面添加 return 1;还有你的函数,应该是一个int类型的返回值,char*表示返回一个地址。
    这种写法根据不同的编译器编译结果不同。
    然后在其他程序中根据这个函数的执行后的返回结果进行不同的操作。
    建议给以个输入次数的判断,这样就可以有限次数输入,然后退出。

    打赏 评论
  • TS1234 2019-05-07 15:48

    你是想直接判断密码是否正确 还是想返回密码?

    打赏 评论

相关推荐 更多相似问题