鱼C论坛

 找回密码
 立即注册
查看: 4707|回复: 7

大家帮忙看看这段代码哪里错了

[复制链接]
发表于 2013-3-29 14:35:16 | 显示全部楼层 |阅读模式

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

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

x
//明码序列号保护
#include <stdio.h>
#include <string.h>

void main()
{
        char *ysn;
        char *sn;
    sn="0001-0002-0003";
    printf("输入序列号:\n");
        scanf("%s",ysn);
        if(!strcmp(ysn,sn))
        {
                printf("register succeed!");
        }
        else
        {
                printf("register lose!");
        }
}
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-29 18:16:16 | 显示全部楼层
编译链接都没问题,运行出错
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-29 18:34:34 | 显示全部楼层
scanf("%s",&ysn); ...是因为这个吗 好久没写C了~为什么不用数组呢...
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-2 10:41:44 | 显示全部楼层
//明码序列号保护
#include <stdio.h>
#include <string.h>

void main()
{
        char ysn[100];
        char *sn;
    sn="0001-0002-0003";
    printf("输入序列号:\n");
        scanf("%s",ysn);
        if(!strcmp(ysn,sn))
        {
                printf("register succeed!");
        }
        else
        {
                printf("register lose!");
        }
}
char *ysn;这个语句是不行的,应该直接改为数组的形式。。当然我只是直接定义了一段空间而已。。你可以完善一下
你的程序首先是char *ysn;没有初始化,在这是scanf哪里赋值出错。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-2 10:43:12 | 显示全部楼层

scanf("%s",&ysn); 是不对的。。按照楼主的定义ysn本来就是地址了。。。,所以不需要再取地址
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-4 22:23:50 | 显示全部楼层
四楼正解
楼主怎么可能把字符串赋值给指针呢用指针scan()获取的只能是地址
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-8 00:41:36 | 显示全部楼层
ysn没指向有效内存
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-8 01:40:15 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-4 20:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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