标题:C语言题目求解
只看楼主
Karryu
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-5
结帖率:90%
已结贴  问题点数:10 回复次数:9 
C语言题目求解
1.为了赋值方便,通常对具有相同类型的结构体变量进行整体赋值。     (   )
  具有相同类型的结构体变量可以互相整体赋值,也可以通过成员赋值。   (   )
  数组与结构题变量的不同之处在于:数组元素的数据类型都是相同的,结构体变量的成员的数据类型可能不同  (   )  

2.以下语句执行时,输入"I love China!",输出的结果是______     为什么用软件输出的结果是1,不是应该13吗  
  char s[15];
  scanf("%s",s);
  printf("%d",strlen(s));

3.int a=3,b=4,y=5;
  y=(++a<b++)?(a++&&++b):(a++||++b);
 执行后,y=_____,a=_____,b=_____

[此贴子已经被作者于2016-6-25 20:15编辑过]

搜索更多相关主题的帖子: C语言 结构体 China 元素 
2016-06-25 20:09
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
得分:7 
第一题:
    自己查书
第二题:
    自己查看scanf()库函数的技术文档
第三题:
    这么恶心的题还有人问?自己写代码在自己的编译器上看看结果是啥。
2016-06-25 20:34
Karryu
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-5
得分:0 
回复 2楼 八画小子
......就是想知道为什么才问的......
2016-06-25 21:49
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
得分:0 
那有这么多为什么?你连是什么都没有,怎么会有为什么?再说了,你问这些问题的为什么,就如同在问为什么1+1等于2。
2016-06-26 11:01
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
得分:0 
函数 scanf() 是从标准输入流stdio (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
注意:每一个指针要求非空!就是scanf不能读取空格!你看下下面例子,你说,如果你输入:I love you!最后输出是I 还是I love you!就明白为啥是1不是13了
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    char s[15];
    scanf("%s",s);   //你再把这句改成gets(s);你再看下输入又是多少,就明白了
    printf("%d\n",strlen(s));
    puts(s);
    return 0;
}


[此贴子已经被作者于2016-6-26 11:04编辑过]

2016-06-26 11:02
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
得分:0 
我是自学的C,水平极差。
所以1,我是不知道了。。
2,考察的是scanf对%s的读入,scanf读入数据时读到空格、制表符、回车换行都会算一个数据输入完成了,所以你输入的“I love you!”他只读到了第一个的“I”,其他的都还在“缓存”
3.考察基本运算符的优先级问题,没什么好讲的,就跟小学的混合运算一样
http://baike.baidu.com/link?url=Lq2O9KYX52yswt3SA5pWc8n4h3C15P0L5Mf4xuKIO_numLfVSWvZx8g46SGCqrA38LsFIKYPfvDLkP1NC_XxLq

-----------
番外:我觉得楼主至少还是用电脑跑过第二题的,不像那些上来就索要答案代码的。水平高低不代表什么,就态度而言值得鼓励。
你让人家查技术文档、、你怎么知道他的英语就好到看得懂了?况且能问这问题的人像是能找得到技术文档吗?

φ(゜▽゜*)♪
2016-06-27 18:25
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
得分:0 
回复 6楼 书生牛犊
恩、、、貌似直接贴网址不太管用。楼主可以百度“运算符优先级 C”

φ(゜▽゜*)♪
2016-06-27 18:26
hykj9495
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:796
专家分:1441
注 册:2016-6-6
得分:0 
#include<stdio.h>
int main(){
int a=3,b=4,c=5,y;
y=(++a<b++)?(a++&&++b):(a++||++b);
printf("%d%d%d",y,a,b);
return 0;
}
y=1,a=5,b=5

慢慢调试
2016-06-27 19:14
hykj9495
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:796
专家分:1441
注 册:2016-6-6
得分:0 
scanf不能读取空格!

慢慢调试
2016-06-27 19:31
低调低调
Rank: 3Rank: 3
来 自:四川省成都市
等 级:论坛游侠
威 望:1
帖 子:66
专家分:103
注 册:2016-6-23
得分:0 
第二题:
  char s[15];
  gets(s);
  int len = strlen(s);
  printf("%d",len);
这样应该就能输出来了

第三题的答案是:
1,5,5

第一题我也不知道 因为我也是自学的  
不好意思我自己的实力只有这么多了 希望能帮到你
2016-06-27 19:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466356-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.316199 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved