16 questions

0
votes
0answers
40 views
+10

分别给出BOOL,int,float,指针变量 与“零值”

BOOL型变量:if(!var)   
int型变量: if(var==0)   
float型变量:   
const float EPSINON = 0.00001;   
if ((x >= - EPSINON) && (x <= EPSINON)   
指针变量:  if(var==NULL)   
【剖析】   
考查对0值判断的“内功”,BOOL型变量的0判断完全可以写成if(var==0),而int型变量也可以写成if(!var),指针变量的判断也可以写成if(!var),上述写法虽然程序都能正确运行,但是未能清晰地表达程序的意思。  
一般的,如果想让if判断一个变量的“真”、“假”,应直接使用if(var)、if(!var),表明其为“逻辑”判断;如果用if判断一个数值型变量(short、int、long等),应该用if(var==0),表明是与0进行“数值”上的比较;而判断指针则适宜用if(var==NULL),这是一种很好的编程习惯。   

浮点型变量并不精确,所以不可将float变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。如果写成if (x == 0.0),则判为错,得0分

0
votes
1answers
21 views
+10

求下面函数的返回值

如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。常引用声明方式:const 类型标识符 &引用名=目标变量名;

例1

int a ;

const int &ra=a;

ra=1; //错误

a=1; //正确

例2

string foo( );

void bar(string & s);

那么下面的表达式将是非法的:

bar(foo( ));

bar("hello world");

原因在于foo( )和"hello world"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。引用型参数应该在能被定义为const的情况下,尽量定义为const 。

沙发
0

int func(x) 

int countx = 0; 

while(x) 

countx ++; 

x = x&(x-1); 

return countx; 

}

0
votes
2answers
43 views
+10

php实现微信红包金额随机分配的函数

<?php
/*
    参数请自己校验
    $money 准备发送多少钱(分)
    $n 个数
    $rate 控制红包的系数
*/
function makeRedPacket($money, $n, $rate = 0.5)
{
    //每个红包先保留1分钱
    $hold = $n;
    //分剩下的钱
    $remainder = $money - $hold;
    $result = [];
    for($i = 1; $i <= $n; $i++){
        //如果剩余的钱没有了就给1分钱
        if($remainder <= 0){
            $result[] = 1;
        }
        else{
            $max = floor($remainder * $rate);
            $rand = mt_rand(1, $max);
            //把保留的1分钱加进去
            $result[] = $rand + 1;
            //剩余的钱需要减去刚才发出去的
            $remainder -= $rand;
        }
    }
    //如果剩余的钱没有分配完直接给到第一个元素
    if($remainder > 0){
        $result[0] += $remainder;
    }
    //把数组随机打乱
    shuffle($result);
    return $result;
}
$result = makeRedPacket(1789, 8);
print_r($result);
$sum = array_sum($result);
print_r($sum);
0
<?php
//a出现的概率是10%,b是20%,c是30%,d是40%
$pro = [
'a' =>10,
'b' =>20,
'c' =>30,
'd' =>40
];

function proRand($pro)
{
        $ret = '';
        $sum = array_sum($pro);
        foreach($pro as $k=>$v)
        {   
                $r = mt_rand(1, $sum);
                //echo $r . "\t" . $v . "\n";
                if($r <= $v) 
                {   
                        $ret = $k; 
                        break;
                }else{
                        $sum = max(0, $sum - $v);
                }   
        }   
        return $ret;
}
echo proRand($pro);
板凳
0
+50
export function getItemDistribution(a, b, waterKey, cupKey, policyId) {

    class ItemDistribution { 
        cupList = [];
        result = [];

        constructor(list, maps) {
            this.waterKey = waterKey;
            this.cupKey = cupKey;
            this.policyId = policyId;
            this.sort(list, maps);
            this.init(list);
        }

        sort(list, maps) {
            let {waterKey, cupKey} = this;
            if (waterKey) {
                list = list.sort((a, b) => a[waterKey] - b[waterKey]);
            } else {
                list = list.sort((a, b) => a - b);
            }
            if (cupKey) {
                maps = maps.sort((a, b) => a[cupKey] - b[cupKey]);
            } else {
                maps = maps.sort((a, b) => a - b);
            }
            this.list = list;
            this.maps = maps;
            return {list, maps}
        }

        init(list) {
            if (list == null || list.length <= 0) {
                return;
            }
            let start = 0, end = 0, index = 0;
            let {waterKey} = this;
            list.forEach((item, id) => {
                if (!waterKey) {
                    this.result[id] = [];
                }
                let water = waterKey ? item[waterKey] : item;
                end = start + Number(water);
                this.entry({start, index, end});
                start = end;
            });
            this.dispatchMaps();
        }

        entry({start, index, end}) {
            index = start;
            this.cupList.push({start, end, index})
        }

        dispatchMaps() {
            function isEmpty(o) {
                switch (JSON.stringify(o)) {
                    case 'null':
                    case undefined:
                        return true;
                    case '[]':
                        return true;
                }
                return false;
            }

            let {maps = [], cupList, cupKey} = this;
            if (isEmpty(cupList) || isEmpty(maps)) return false;
            maps.forEach((item, id) => {
                let cup = cupKey ? item[cupKey] : item;
                this.dispatchCup({item: cup, id});
            });
        }

        getCup() {
            function isEqual(a, b) {
                return String(a.toFixed(2)) !== String(b.toFixed(2));
            }

            let {cupList} = this;
            for (let i = 0; i < cupList.length; i++) {
                let item = cupList[i];
                if (isEqual(item.end, item.index)) {
                    return {cup: item, cupIndex: i};
                }
            }
            return {};
        }

        dispatchCup({item, id}) {
            let {cup, cupIndex} = this.getCup();
            if (!cup) return false;
            let {index, end} = cup;
            let remain = end - index;
            let {waterKey, list, policyId, maps} = this;
            if (remain > item) {
                cup.index = cup.index + item;
                waterKey ? this.result.push({
                    ...list[cupIndex],
                    [waterKey]: item,
                    [policyId]: maps[id][policyId]
                }) : this.result[id].push(item);
                return false;
            } else {
                cup.index = cup.end;
                waterKey ? this.result.push({
                    ...list[cupIndex],
                    [waterKey]: remain,
                    [policyId]: maps[id][policyId]
                }) : this.result[id].push(remain);
                item -= remain;
                this.dispatchCup({item, id})
            }
        }
    }

    return new ItemDistribution(a, b);
}
0
votes
0answers
22 views
+10

HP 安全问题入门:10 个常见安全问题 + 实例讲解

1. SQL 注入 2. XSS 3. XSRF/CSRF 4. LFI 5. 不充分的密码哈希 6. 中间人攻击 7. 命令注入 8. XXE 9. 在生产环境中不正确的错误报告暴露敏感数据 10. 登录限制 一些其他补充 小贴士

0
votes
1answers
21 views
+10

大眼清纯美女诱人香肩唯美生活照

大眼清纯美女诱人香肩唯美生活照大眼清纯美女诱人香肩唯美生活照

沙发
0
+50
哇美女啊。呀哈
0
votes
0answers
22 views
+10

微笑是把神奇的钥匙记叙文

  微微一笑,涟漪点点,置身于花开花落间,微笑如一把神奇的钥匙,解开人与人的心灵之锁。

  ——题记

  这次考试怎么回事,老师凌厉的话语至今还在耳畔回荡。是啊,我怎么了。独自徘徊在阴暗的走廊,夕阳西下,那光染红了窗子,染红了整个城市上空……渐渐那雍容华贵的红黯淡了,消失了,只剩下忧愁落寞的灰色笼罩着一切,就如同现在的我,迷失方向,迷失自我。

  上课,我常常头低得很低,蜷缩着,躲避着老师的目光,活生生把自己锁在另一个世界。请这位同学把课文朗读一下。抬起头,视线随老师的手指落在了自己身上,我吗,心里不禁惊懦了起来。我不行,不知这话怎从我嘴弱弱的说出,恰巧被后边的同学听见,她戳了我一下,回头,映入眼的是一张微笑,她嘴角微微扬起,只露出洁白的牙,那灵动的眼睛流露出鼓励和肯定,我暗暗打气,回头又见了她那淳朴的微笑,那飘逸的发丝在微笑下是那样美顿时一种勇气涌入心房,她的微笑帮我克服自卑,她的微笑悄无声息地打开我的心锁。

  从此,我变了,变得开朗,变得乐观,变得快乐……

  有一天,班上突然转来一位新生,他的身材高挺,有双炯炯大眼,一眨一眨,像星星在闪烁。

  他被排到最后一排,下课了,同学们交头接耳有说有笑,新来的他显然被孤立了,眼神里的光彩渐渐暗淡,像当初的我。

  他锁住了自己,我走去前,同学你好!一个友好温和的声音传出,脸上涌动着甜美的笑容,头抬的很高,一个自信的女孩站在了他面前。渐渐他甩开昔日之腼腆,取而代之的则是一个乐于助人的他,乐观的他。

  是啊,他变了,变得像我一样,像我一样深爱微笑,不易言说,微笑再次奇迹般解开另一个人的心锁!

  走过花开花落,微笑一直伴我,它似钥匙,是解开人与人的心灵之锁!

0
votes
1answers
26 views
+10

12星座:最难追的3个星座女!

原标题:12星座:最难追的3个星座女!

1:处女座

关于处女座有多么招黑,相信不用我多说,你们都懂!谁身边没有几个处女座的朋友啊?即使没有,也总会遇见一两个吧?

她们是完美主义者,吹毛求疵就是为她们量身打造的。和她交往,你只要有一点点不满足她的要求,她就会以各种方式来暗示你,然后让你改正。

所以,在男生眼中,如果要追处女座的女生,不但要自身条件很优秀,而且还要具备抗打击的能力和打持久战的准备,对他们来说,实在太难了,以至于很多男生一听到女生是处女座的,干脆就放弃追求了!

2:天蝎座

说到天蝎座,很多人的眼里仿佛就出现了一个婀娜多姿、魅力四射的美女,她们敢爱敢恨,犹如女王一般高贵,是很多男生心目中的女神。

但对于天蝎女来说,成熟稳重的男生才是最吸引她们的。如果一个条件不是很优秀的男生来追求她,而她恰巧对这个男生毫无感觉,那么她宁愿呆在家发呆也不愿意和这个男生出去约会,所以,很多男生追天蝎女的时候,经常收到各种各样拒绝,但有一点不可忽视的是,即使被拒绝了,天蝎女还是很多男生心目中的女神。

3:天秤座

天秤座的女生,气质高雅,神情温和而娇媚,拥有一副令人羡慕的好骨架,特别异性欢迎。但有一点让男生畏而却步的是,天秤座的女生做事总是犹豫不决,想法特别多,容易受身边亲朋好友的影响,以至于到最后都不知道自己想要的是什么了?

而且,她们还不容易拒绝别人,如果有很多男生追求她,她不答应,但是也不会完全拒绝,所以备胎特别多,这也让很多男生苦恼,不知道天秤座的女生到底喜欢什么样的男生,因此,一旦备胎久了,也就自动选择放弃了。

沙发
0
+50
NICE !
0
votes
0answers
20 views
+10

婚纱为什么是白色的?居然有98%的人都不知道!

①白色象征纯洁; ②洁白的婚纱手套上,戴上新婚戒指,既能在夜晚的灯光下焕发出绚丽的光彩,又增加了戒指的接触面积和摩擦,避免戒指在婚宴上不小心滑落、遗失; ③手套也是一种很好的装饰用品,可以和服装搭配,也可以遮盖新娘手型或者肤色等方面的欠缺等。 5.为什么婚纱大多数是白色? 19世纪以前,婚纱并没有统一的颜色要求,各种颜色均能作为婚纱。直到1840年,英国维多利亚女王在结婚典礼上身穿一件白色婚纱惊艳亮相,立即被众人认定为是一种时髦的产物。

0
votes
1answers
32 views
+10

How to change the commit author for one specific commit?

next to the hash of the one you want to modify. Then when git prompts you to change the commit, use this: git commit --amend --author="Author Name " For example, if your commit … --author="Author Name " Then git rebase --continue It would pause again at D Then you would git commit --amend --author="Author Name " again git rebase --continue The rebase would complete. Use git push -f to update your origin with the updated commits
沙发
0
How to change the author and committer name and e-mail of multiple commits in Git? Author Name " edit or just close the editor that opens, and then do git rebase --continue to continue the rebase. You could skip opening the editor altogether here by … appending --no-edit so that the command will be: git commit --amend --author "New Author Name " --no-edit && \ git rebase --continue Single Commit As some of the commenters have noted
0
votes
1answers
38 views
+10

中国人为什么要区分「的」「得」「地」

在现代汉语语法中,「的」「得」「地」三个字同属于一个叫做「助词」的词类。而所谓「助词」,在现代汉语语法中,则进一步被归类为「虚词」,与「实词」即名词、动词有实际意义的词相对,「虚词」就是那些没有实际意义、无法独立成句的汉语词汇。 至于汉语中的「助词」,则又可以进一步细分为「结构助词」「时态助词」和「语气助词」。 诸如「着」「了」「过」这样的词,就是「时态助词」,「吗」「呀」「吧」则是「语气助词」。 而「的」「得」「地」三个字就属于「结构助词」,一般置于一个词或词组的前面或后面,用来表示句子的结构关系,特别是句子中语汇之间的关系。 《现代汉语词典》第七版对「的」「得」「地」作为结构助词的解释 《红楼梦》第二回选段,在第一列「便要凿牙穿眼的」中,「的」字与今天的规范用法相同,而第四列的「每打的吃疼不过时」和「便姐姐妹妹的乱叫起来」中的「的」字在今天的规范语法中分别应为「得」和「地」,而后者实际上用「的」或「地」也都说得通。除此之外,在第八列中又出现了「疼得好些」这样的用法,足见在早期白话中「的」「得」「地」三字的使用较为随意,并无一定之规。 加上三个字的发音中在近代汉语中逐渐都变成了dǐ 或 dì,在语音上几乎无法区分,三个助词各自表示某种语法意义的情况,严格来说在这时依旧不存在。 到了民国时代,在白话文运动中也还曾讨论过是否应区分「的」「得」「地」「底」以及应该在那种情况使用哪个字,最终结论则是写作者可以依照个人喜好和写作习惯自行选择是否区分,其中胡适就曾主张一律用「的」。而在鲁迅、胡适、老舍等人的作品中,依旧可以看到不少「的」「得」「地」不分的情况。 直到 1956 年,由中国政府主导编订和推广的《暂拟汉语教学语法系统》,才最终规定了今天我们看到的「的」「得」「地」三个字各自的语法含义与用途。 《暂拟汉语教学语法系统》简述中对「的」「得」「地」的解释 这其中,由于「的」自古以来使用得最广泛,因此分配给它的意义和用法最多。「得」字则有特殊的发展路径和含义,因此只是对其原始含义加以固定。而「地」因为几乎可以被「的」字替换,仅仅分配了一个在古白话中比较「特殊」的用法。 此外,「的」「得」「地」三字的读音仅在普通话及北方官话发音中无法区分,而诸如粤语、闽南话、客家话等语言的使用者依旧可以非常容易从发音是区分这三个字,因而在使用方面的困难也相对较小。

沙发
0
+50
GOOD
0
votes
1answers
31 views
+10

中国人的信仰问题

中国绝大多数人没有宗教信仰,但却并没有丧失精神支柱,民族也没有分崩离析,这的确是十分奇怪的现象。这些中国人不相信实鬼神之说,受儒家影响很大,“子不语怪力乱神”,不是不信,也不是相信,只是对于未知保持缄默。他们更多的把目光着眼于现世,因为这是他们唯一能够感受到也抓得住的东西,可以说是一种实用主义哲学。

如此推理,这样的人其实很可怕,因为他们很可能只贪求现世的享受,而不在乎来世的报应,所以便会随心所欲,不去克制自己的欲望。但现实是,确实有这样的人存在,但绝大多数人还是能够克制自己的,至于原因就比较复杂,一方面可能是因为儒家的道德观念仍在起作用(君子怎样怎样。。。),一方面则是其他宗教观念无形中在影响着这些中国人,比如佛家的因果报应,轮回之说,演变成为“人算不如天算”,“老天有眼”等等类似宗教的感觉,只不过这种信仰没有一个特定的载体,如果有也只是笼统的“天”。中国人很相信“天”,这里的“天”意义无穷,他是人类无法解释的所有的总和,他主宰者每一个人的命运,让人们不至于由于没有宗教信仰而精神负担过重以致抑郁而死,因为他们可以把所有一切归结于那个冥冥中决定了一切的上天。 他们相信自己的命运一部分是可以自己掌握的,还有一部分是由上天掌控的,他们的精神负担确实比有宗教信仰的人会更重一些,也时常会感到空虚,会思索终极问题,但很快他们就会把目光投向现实生活,用某些概念来代替人生的意义,比如“快乐”“幸福”等等。 但我觉得这些绝非长久之计,尤其在现如今这个各种观念冲击碰撞的改革年代,当人们的物质生活已经足够发达,有充分的条件思考精神问题的时候,这些中国人的灵魂便越来越没有寄托,因为他们思考到最后其实是未知,而不是一个确定的“上帝”。 曾经跟一个信仰基督教的人沟通过这个话题,他是一个中国人,以前也不信教,但是出国之后便皈依了基督教,他说基督教的生命力来自于一个仍然活着的上帝,而不是已经死了的道德信条。人们都是实际的,哪怕是信仰基督教的人们,他们即便做善事其出发点很可能也是为了自己死后上天堂,但其实这就够了,不是吗?

up vote -1 down vote accepted favorite
沙发
-10
+50
Home page down due to Woocommerce Wechat Pay plugin sharedWithArrayImage:@[@"weixin_um",@"weixin_um",@"weixin_um",] titles:@[@"微信好友",@"微信好友",@"微信好友",]]; } @end If don't do this the sharedView will be destoryed! …
0
votes
0answers
17 views
+10

典礼前为何新郎不能与新娘见面?

在结婚典礼之前,如果让新郎看到新娘,会带来坏运气。这一迷信说法可以追溯到父母之命、媒妁之言的那段时期。 那时候婚礼更多地与商业利益、政治挂钩,至于新人两个的爱则少得可怜。| 有这个说法其实是不想在婚礼开始之前,新郎看到新娘的脸之后又不喜欢,闹到双方尴尬地解除婚约这种境地。 而现代新人们以自己的方式诠释这一传统,有人尊敬它,也有人为了不在典礼之前太紧张而选择待在一起。其实,两人可以趁着这时候拍点唯美照片,因为以防在结婚典礼上双方哭花了妆。
0
votes
2answers
29 views
+10

How to get send to email id not display name before send email c#

How i get email id not display name like "javalp@gamil.com". var msg = Item as Outlook.MailItem; string messageTo = msg.To; Output: messageTo = "Javal Patel"
沙发
0
use php socket to keep receiving data i need some clarifications in using a php socket.I explain now a little bit what i'm trying to do. I have a c++ application which collects data from the outside world (let's say inputs and outputs of an external device).I want to keep sending data to a webserver database through a socket. The socket is already implemented in c++. The c++ application would acts as server, while the webserver as client. I thought about how to implement the webserver socket interface, and i decided to do it with a php script (i know a bit of this language,but i don't know if this is the best approach). I'm a newbie with php and all scripts i wrote so far were simple. In this PHP script I would like something keep listening with a socket always connected. Is this possible in php ?? Thanks in advance Paolo
  • 1
    You can make the PHP-script run as a daemon (If on *nix-system, don't know about Windows), then it won't have to bother the webserver at all. – LEON April 21 at 16'44
板凳
0
Why PHP? Why not python? Have you looked at php.net/manual/en/book.sockets.php ?
0
votes
0answers
28 views
+10

How to validate an email address using a regular expression?

The fully RFC 822 compliant regex is inefficient and obscure because of its length. Fortunately, RFC 822 was superseded twice and the current specification for email addresses is RFC 5322. RFC 5322 … 5322 without a hitch. Python and C# can do that too, but they use a different syntax from those first two. However, if you are forced to use one of the many less powerful pattern-matching languages
0
votes
1answers
1.5 K views
+10

I want to delete a branch both locally

I want to delete a branch both locally and on my remote project fork on GitHub. Failed Attempts to Delete Remote Branch $ git branch -d remotes/origin/bugfix error: branch 'remotes/origin/bugfix' ...
沙发
0

 

美女路边用美人计诱骗小伙,结局出人意料

0
votes
1answers
1.6 K views
+10

Floating div is taking up whole row instead of using only left side space

我们现在在进行新家的建材的选择的时候,除了常规的建材之外,一些适当的室内装修辅料也是十分必要的。那么常用的室内装修辅料有哪些呢?下面小编就向大家介绍下一些常见的室内装修辅料,以及室内装修辅料在装修时候要知道的事情。 室内装修辅料—室内装修辅料介绍 装修辅料是指:水电材料、木漆、乳胶漆、腻子、各类胶水、各类补缝防裂材料、河沙、水泥、防水、线条、龙骨、各类木工板材、石膏板、铝扣板、各类钉子、螺丝等。在地砖铺装工程中,水泥、砂子、填缝剂、水泥腻子、建筑用胶、砖头等是最常用的装修辅料。刮腻子刷乳胶漆常用的辅料有:防水腻子、砂纸、801胶、界面剂、石膏腻子等。铺装壁纸需要用的辅料:防水腻子、裱糊用胶、砂子、醇酸清漆、清油、剪刀等。吊顶安装辅料有:吊杆、扣条、密封胶、玻璃剂;石膏板吊顶的安装装修辅料:龙骨、夹子、玻璃纤维、牛皮纸、钉子、防火涂料、木吊杆等。 室内装修辅料—室内装修辅料装修须知 1、水泥,真的水泥,50公斤/1袋;假的水泥,30-40公斤/1袋。假的水泥24小时都不凝固。 2、板材尽量少用饰面板,饰面板用量越大,污染越大,一间屋子最好不超过4张饰面板。
沙发
0
不错哟