| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 982 人关注过本帖
标题:scanf函数问题
取消只看楼主 加入收藏
zmrfff
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-10-21
结帖率:95.83%
收藏
已结贴  问题点数:20 回复次数:2 
scanf函数问题
做了几道笔试题,百思不得其解,特地请教高手们,请多多指点,谢谢啦!
1、
#include <stdio.h>
void main()
{
    int m=0,n=0;char c='a';
    scanf("%d%c%d",&m,&c,&n);
    printf("%d,%c,%d\n",m,c,n);   
}
输入10A10回车后,结果是10,A,10 我觉得应该是10,a,10呀,想不通。
还有,如果我输入10 A 10,结果为10, ,0 更头大><
2、
d="\0127";我认为这条赋值语句不对。但答案说是对的。但转义字符8进制数的格式为\ddd,意为1至3位8进制数所代表的字符,但此\后有4位,我哪里分析错了呢?
3、如果已对指针变量p赋值NULL,即p=NUll;那么是否不能对p赋别的值?NULL是整数0,也就是使p指向地址为0的单元,那么*p=0;这条语句哪里错了呢?
4、#include <stdio.h>
void main()
{
    int p,a=5;
    if(p=a!=0)
    printf("%d\n",p);
    else
    printf("%d\n",p+2);
}
我分析p值为5,但一上机运行,结果为1,汗,不知道为什么。
根据运算优先级,在(p=a!=0)中先判断a!=0,然后再将结果赋值给p,a=5,所以p=5,哪里分析错了呢?请指点,万分谢谢!
搜索更多相关主题的帖子: 函数 scanf 
2009-09-03 23:14
zmrfff
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-10-21
收藏
得分:0 
诸位对c的理解都很深刻,我明白了!谢谢^^
2009-09-05 13:08
zmrfff
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-10-21
收藏
得分:0 
诸位对c的理解都很深刻,我明白了!谢谢^^
2009-09-05 13:08
快速回复:scanf函数问题
数据加载中...
 
   



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

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