注册 登录
编程论坛 C语言论坛

练习C语言编程遇到的问题!

doigt 发布于 2020-02-17 22:17, 2078 次点击
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char  a,b,c;
    system("color 6");
    printf("New login:");
    scanf("%s",&a);
    printf("password:");
    scanf("%s",&b);
    printf("Confirm password:");
    scanf("%s",&c);
    if(b==c)
    {
        printf("Success!");
    }
    else
    {
        printf("error!");
    }
    return 0;
}
但是运行时,就会出现下面的问题!

只有本站会员才能查看附件,请 登录

虽然密码和确认密码都是相同的,但是运行出来就是错误的!
4 回复
#2
chxchxkkk2020-02-17 22:25
char是一个字节,定义成 char[]试试看
#3
豆豆的滴2020-02-17 22:53
scanf("%s",&a)是输入字符串到换行结束
#4
Samson幽客2020-02-18 14:15
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
    char  a[10],b[10],c[10];
    system("color 6");
    printf("New login:");
    gets(a);
    printf("\npassword:");
    gets(b);
    printf("\nConfirm password:");
    gets(c);
    if(strcmp(b, c) == 0)
        printf("Success!\n");
    else
        printf("error!\n");
    return 0;
}
比较字符串可以用strcmp()来实现,你之前的程序是有问题的
#5
doigt2020-02-19 21:41
回复 4楼 Samson幽客
谢谢!大佬
1