51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2407|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-2 13:35:35 | 只看该作者
我没看出来有什么问题。怎么就能从这道题看出“基本从侧面反映出了中国应试教育的悲哀”了,不明白。
结果很简单,和上机调试的一样啊。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-8-2 14:09:00 | 只看该作者
你修改了之后我倒是做错了。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-8-2 14:17:50 | 只看该作者
考察的无非是=和>的优先级顺序和A||B如果A为真则不再执行B而已。有什么难的?
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

6#
发表于 2007-8-2 15:34:14 | 只看该作者
k ---1
n----1
m---0
easy !
the point  is  kown the pri of  c  operators.
than chariness.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-8-2 17:05:22 | 只看该作者
在C语言的语法中,有没有说 计算 A||B 时, 如果 A 为真,就不计算 B 的值了?
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

A||B

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

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

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

    使用道具 举报

    该用户从未签到

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

    A||B

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


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

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

    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;
        }
    }



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

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-16 00:54 , Processed in 0.084950 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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