论坛: 编程破解 标题: 这段程序如何输入特定的值? 复制本贴地址    
作者: yuxianglll [yuxianglll]    论坛用户   登录
main()
{
struct name{
name[10];
};
struct name name1,name2;
  name1.name[10]="12346";
  name2.name[10]="7946";
printf("%c.%c\n",name1.name,name2.name);
}
怎么才能让输出12346;7946这两个值啊,
麻烦各位了,谢谢

ID LHB7641
PW 000000


[此贴被 286(unique) 在 04月28日16时47分 编辑过]

地主 发表时间: 04-04-28 15:47

回复: lida1818 [lida1818]   论坛用户   登录
main()
{
struct name{
int name;
};
struct name name1,name2;
  name1.name=12346;
  name2.name=7946;
printf("%d  %d\n",name1.name,name2.name);
}

B1层 发表时间: 04-04-28 16:02

回复: yuxianglll [yuxianglll]   论坛用户   登录
“我想用数组
  学C语言ING,还请给为耐心指导,谢谢”

B2层 发表时间: 04-04-28 16:12

回复: 286 [unique]   版主   登录
main()
{
    struct name{
    name[10];
      };
      struct name name1,name2;
      name1.name[10]="12346";
      name2.name[10]="7946";
      printf("%s.%s\n",name1.name,name2.name);
}

B3层 发表时间: 04-04-28 16:48

回复: lida1818 [lida1818]   论坛用户   登录
286,你那样是不行的

main()
{
struct name{
char *name;
};
struct name name1,name2;
  name1.name="12346";
  name2.name="7946";
printf("%s  %s\n",name1.name,name2.name);
}

B4层 发表时间: 04-04-28 18:06

回复: lida1818 [lida1818]   论坛用户   登录
还有楼主你的错误:

main()
{
struct name{
name[10];//未定义属性,虽然不能说错,但是不好,容易引起错误
};
struct name name1,name2;
  name1.name[10]="12346";//????int name1.name[10]={1,2,3,4,6}  or  char name1.name[10]="12346"??????
  name2.name[10]="7946";
printf("%c.%c\n",name1.name,name2.name);//("%c.%c\n",???name[10]到底是什么?int ?char? %c? %s? %d?所以前面未定义不好
}


B5层 发表时间: 04-04-28 18:13

回复: sniper167 [sniper167]   论坛用户   登录
286的在 winxp + wintc 下会引起错误:
main()
{
    struct name{
    name[10];
      };
      struct name name1,name2;
      name1.name[10]="12346";
      name2.name[10]="7946";
      printf("%s.%s\n",name1.name,name2.name);
}

wintc提示:不可移动的指针(地址常数)赋值在 main 函数中

----------------------------------------------------------------
name[10]未定义类型

B6层 发表时间: 04-04-28 20:59

回复: 286 [unique]   版主   登录
看错了,什么时候出了个[10]?可能是复制时没注意。
#include <stdio.h>

main()
{
struct lname
{
name[10];
};

struct lname name1,name2;

strcpy(name1.name,"12346");
strcpy(name2.name,"7946");
printf("%s.%s\n",(char *)name1.name,(char *)name2.name);
}


B7层 发表时间: 04-04-29 09:39

回复: yingzike [yingzike]   论坛用户   登录
只不过是结构的%c,%d,%s的问题
而且数据不加下标可指开始地址的
楼上的当然正确
呵呵

B8层 发表时间: 04-04-29 11:26

回复: ypy [ypy]   见习版主   登录
#include <stdio.h>

main()
{
struct lname
{
char name[10];
};

struct lname name1,name2;

strcpy(name1.name,"12346");
strcpy(name2.name,"7946");
printf("%s\n%s\n",(char *)name1.name,(char *)name2.name);
}

B9层 发表时间: 04-04-29 16:50

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号