免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1759 | 回复: 7

求高手急救!!!linux下C编程的问题 [复制链接]

论坛徽章:
0
发表于 2012-03-02 11:17 |显示全部楼层
本帖最后由 xiao09008232 于 2012-03-02 11:31 编辑

我是初学者,编了下面一段代码:

  1. #include<stdio.h>
  2. void password(char code[17])
  3. {
  4. char c,passwd[12];
  5. int i=0,leap=0,j,k;
  6. printf("please enter your password: \n" ) ;
  7. while(leap==0)
  8. {
  9.   leap=1;
  10.   while((c=getchar())!='\n')
  11.   {
  12.    if(c>='0'&&c<='9')
  13.     {
  14.      passwd[i]=c;
  15.      i++;
  16.      }
  17.    else
  18.     {
  19.       leap=0;
  20.      }
  21.    }
  22.    if(i<4||i>12)
  23.    {
  24.      leap=0;
  25.    }
  26.    if(leap==1)
  27.    {
  28.     sprintf(code,"%02d",i--);
  29.     for(j=0;j<=i;j++)
  30.     {
  31.      k=j+2;
  32.      code[k]=passwd[j];
  33.     }
  34.     for(j=j+3;j<=16;j++)
  35.     {
  36.      code[j]='F';
  37.     }
  38.    }
  39.    else
  40.    {
  41.      printf("WRONG PASSWORD!Please input again: \n" ) ;
  42.      i=0;
  43.    }
  44.   }
  45. }
复制代码
这是test.c里password函数的代码,下面是main.c里main函数的代码

  1. #include<stdio.h>
  2. #include"test.h"
  3. int main(void)
  4. {
  5.         char code[17];
  6.         password(code);
  7.         printf("%s",code);
  8. }
复制代码
还有test.h里的函数申明

  1. void password(char code[17]);
复制代码
这个程序在VC++下正常运行,结果如下:
11.jpg
在linux下也编译通过,但结果有问题:
2.jpg
没有输任何值,也没按回车,直接显示重新输入,怎么回事呀???

论坛徽章:
0
发表于 2012-03-03 20:25 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2012-03-04 21:31 |显示全部楼层
我也试了一遍,一点没问题呀!!!

论坛徽章:
0
发表于 2012-03-05 10:35 |显示全部楼层
怎么会这样,只有我的有问题吗?

论坛徽章:
0
发表于 2012-03-05 14:02 |显示全部楼层
运行的时候是复制粘贴的执行程序名吧?可能是终端输入了不可见字符(回车)

论坛徽章:
0
发表于 2012-03-05 17:52 |显示全部楼层
我也试了你的程序,如果不按回车键是不会出现这样的情况啊!!再试试,是不是你碰到了你的回车键,或者是执行的时候多按一下键盘!

论坛徽章:
0
发表于 2012-03-06 11:03 |显示全部楼层
搞定了,将code初始化就没这个问题了,不知道怎么回事,谢谢各位帮忙

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
发表于 2012-03-06 12:47 |显示全部楼层
回复 7# xiao09008232


    不初始化,code里面可能有非法数据!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP