您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> rand函数提取每一位的问题?

rand函数提取每一位的问题?

来源:网络整理     时间:2016/7/25 22:37:18     关键词:

关于网友提出的“ rand函数提取每一位的问题?”问题疑问,本网通过在网上对“ rand函数提取每一位的问题?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: rand函数提取每一位的问题?
描述:

大家都应该知道这个函数吧,我想编写一个程序,把rand得到的没有位都分离出来,可是代码就是有问题,先把代码贴出来吧
代码如下:
#include "stdafx.h"
#define LL "------"
int main(int argc, char* argv[])
{int a,i=0,l;
char *p;
char c;
char n;
int k[10];
p=new char [10];
while (i<5)

a=rand();
 c=(char)a;
l=strlen(&c);
strcpy(p,&c);
printf("p=%d\n",p[0]);//取出第0位,好像不行
cout<<"a="<<><>
cout<<>
  printf("n=%d\n",n);
Sleep(100);
printf("%s\n",LL);
i++;
};
delete p;
return 0;
}
用指针p[0],p[1]等等好像取不出来没有位,不知到是那里出错了,毕竟是初学者吗?希望指教


解决方案1:

LZ是想把一个随机生成的数(也就是一个数)---比如说是12345.---的每一位都依次打印出来.
可以把这个数里面的每一位都转换成char型来打印.
LZ错就错在了直接简单的把12345这个整数直接转换成char型 . char也是一个整数. 这样你把它给截取了.是达不到目标的.
可以先把这个数(12345)转换成字符串. 依次取最高位放到array[0],次高位放到array[1],...最低位放到array[i]. 
具体i是多少.看你生成的随机数的大小而定了. 数组空间申请个11个吧(RAND_MAX = 2147483647) char array[11]存放每一位.

解决方案2:

直接用%,/ 来分离,打印出来或存入字符数组里

解决方案3:


strlen(),strcpy()这些函数的参数必须是以0结尾的字符串,显然&c这样不满足

以上介绍了“ rand函数提取每一位的问题?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2922873.html

相关图片

相关文章