51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2392|回复: 25
打印 上一主题 下一主题

一道非常基本的C语言题目,看看有几人能做对。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-2 13:23:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#include <stdio.h>

void main()
{
  int a=1,b=2,m=0,n=0,k;

  k= ((n=b>a)||(m=a<b));

  printf("%d,%d,%d\n",k,n,m);

}

先根据C语言的运算符优先级规则自己推测一下,然后再上机调试一下,看看输出结果和自己推测的结果是否一致。


[ 本帖最后由 seifer1754 于 2007-8-2 13:47 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

26#
发表于 2007-12-11 15:59:27 | 只看该作者
都好复杂,越来越没底啦,做测试不是那么简单啊,什么都要懂
回复 支持 反对

使用道具 举报

该用户从未签到

25#
 楼主| 发表于 2007-10-8 17:10:20 | 只看该作者
原帖由 Jor 于 2007-10-4 16:22 发表

这个看语言的 。。 有的是都要判断 有的是一半一半。。


那你举几个例子来说明一下。
哪个语言是都要判断的??
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2007-10-7 00:30:37 | 只看该作者
k=1,n=1,m=0
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2007-10-4 16:22:14 | 只看该作者
原帖由 yu_xiulan 于 2007-10-1 11:28 发表
A||B,在执行的时候,如果A为真,就不会再去判断B是否为真

这个看语言的 。。 有的是都要判断 有的是一半一半。。
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2007-10-1 11:28:00 | 只看该作者
A||B,在执行的时候,如果A为真,就不会再去判断B是否为真
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2007-9-29 21:18:27 | 只看该作者
原帖由 seifer1754 于 2007-8-14 08:48 发表



void read_nvm(unsigned long nvm_addr, unsigned long size_in_bytes, unsigned long output_addr)
{
    unsigned long i;
    unsigned long bytes_moved = 0;
    unsigned long output_data_ptr;
   ...

单元测试注重的是接口等 并不是关注源码的!! 一切都以LLD为参考 你看到了源码就写测试用例?
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2007-9-29 00:31:40 | 只看该作者
眼花缭乱
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-8-16 22:34:04 | 只看该作者
头晕
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-8-14 14:19:28 | 只看该作者
k=1,n=1,m=0
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2016-1-19 16:53
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    17#
    发表于 2007-8-14 09:34:27 | 只看该作者
    好复杂哦,看不懂!sdlkfj5
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2007-8-14 08:48:55 | 只看该作者
    原帖由 keenling 于 2007-8-13 23:28 发表
    不是我狂妄,说实话这种题一点意义都没有,纯粹白痴题一个。一般情况下根本用不到,即使要用,也会分成几步的。即使降低效率也要分开,因为合一块不符合现在软件工程的思想(清晰第一,效率第二)。退一万步说,非 ...



    void read_nvm(unsigned long nvm_addr, unsigned long size_in_bytes, unsigned long output_addr)
    {
        unsigned long i;
        unsigned long bytes_moved = 0;
        unsigned long output_data_ptr;
        nvm_word_t *nvm_word_ptr;

        /*
         * Since the NVM types we defined account for the unpopulated
         * upper 16 bits of an NVM word, ensure that the input
         * address starts on a 32-bit boundary.
         */
        nvm_word_ptr = (nvm_word_t*) (nvm_addr & 0xfffffffc);
        /* Move 32-bit words */
        output_data_ptr = output_addr;
        for (i = 0; i < (size_in_bytes >> 2); i++)
        {
            *((unsigned long*) output_data_ptr) = ((nvm_word_ptr++)->data << 16) | (nvm_word_ptr++)->data;
            output_data_ptr += 4;
            bytes_moved += 4;
        }
        /*
         * Move remaining 16-bit words if any (there can be only 1); ignore
         * any remaining odd bytes if any.
         */
        while (bytes_moved < size_in_bytes)
        {
            *((unsigned short*) output_data_ptr) = (nvm_word_ptr++)->data;
            output_data_ptr += 2;
            bytes_moved += 2;
        }
    }



    那你帮忙把这个函数测试一下,设计几个用例来看看。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-8-14 00:05:44 | 只看该作者
    嗯,赞成这样的说法。对测试还是有一定用处的,做测试的,思维一定要开阔,甚至要比开发的思路还要开阔。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-8-13 23:57:09 | 只看该作者
    原帖由 keenling 于 2007-8-13 23:28 发表
    不是我狂妄,说实话这种题一点意义都没有,纯粹白痴题一个。一般情况下根本用不到,即使要用,也会分成几步的。即使降低效率也要分开,因为合一块不符合现在软件工程的思想(清晰第一,效率第二)。退一万步说,非 ...

    非也非也~ 对于开发 可能是白痴题目 但是对于测试还是有一定用的`````````````
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-8-13 23:28:29 | 只看该作者
    不是我狂妄,说实话这种题一点意义都没有,纯粹白痴题一个。一般情况下根本用不到,即使要用,也会分成几步的。即使降低效率也要分开,因为合一块不符合现在软件工程的思想(清晰第一,效率第二)。退一万步说,非要这样写,要知道结果,上机调试看一下就知道了。像这样的题肯定是中国人出给中国人做的,做对了也不代表你很强,最多说明比较你BT。应试教育的产物。
       类似的还有什么++i=i++....的,都没意思。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-3-1 16:59
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2007-8-13 11:57:52 | 只看该作者
    1,1,0  ?是这样吗?sdlkfj1
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-8-13 09:20:12 | 只看该作者
    原帖由 seifer1754 于 2007-8-2 19:31 发表
    后来特意查了一下书,

    A||B

    对于||运算符来说,只有A=0,才继续进行其右边的运算。


    是哦.好严谨的问题,是的。以前好像有接触过这类问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-9-3 13:53
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2007-8-2 20:14:55 | 只看该作者
    运算符的问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-8-2 19:31:40 | 只看该作者
    后来特意查了一下书,

    A||B

    对于||运算符来说,只有A=0,才继续进行其右边的运算。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-8-2 18:32:41 | 只看该作者
    左值又值得问题 在C语言中是从右读到左的 如果&或者||条件已经符合了 就不进行下面的判断
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-28 15:32 , Processed in 0.084278 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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