| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 621 人关注过本帖
标题:学C语言不久,有个小问题
只看楼主 加入收藏
daming1
Rank: 1
来 自:开平
等 级:新手上路
帖 子:21
专家分:0
注 册:2011-11-26
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
学C语言不久,有个小问题
#include<stdio.h>
int main()
{
int a,b=a+4;
scanf("%d",&a);
printf("%d\n",b);
return 0;
}
输出结果为什么不对的。

#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
int b=a+4;
printf("%d\n",b);
return 0;}

是错误的,运行不了。


#include<stdio.h>
int main()
{
int a,b;
scanf("%d",&a);
b=a+4;
printf("%d\n",b);
return 0;}

这,又是对的。



以上的,有谁知道答案,能帮我解答一下吗?
搜索更多相关主题的帖子: return C语言 
2011-11-26 19:48
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:5 
#include<stdio.h>
int main()
{
int a,b=a+4;
scanf("%d",&a);
printf("%d\n",b);
return 0;
}
输出结果为什么不对的。       //因为它的执行是一句一句顺序执行的,一开始a没有赋值,计算机就不知道你要多少,这是就已经计算b=a+4了,你后面给a赋值了,但这时,它不会回过头去再计算一次的,所以就不对了

#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
int b=a+4;
printf("%d\n",b);
return 0;}

是错误的,运行不了。   //这是c语言的要求,变量要先定义,再使用,定义要放在语句前面,而不能一会是语句,一会又加了个定义变量的语句。只有c++里是可以在使用的时候才定义一个变量的。


#include<stdio.h>
int main()
{
int a,b;
scanf("%d",&a);
b=a+4;
printf("%d\n",b);
return 0;}

这,又是对的。 //这个是正确的编写顺序,当然就对了
2011-11-26 20:18
daming1
Rank: 1
来 自:开平
等 级:新手上路
帖 子:21
专家分:0
注 册:2011-11-26
收藏
得分:0 
楼上的大哥,
//这是c语言的要求,变量要先定义,再使用,定义要放在语句前面,而不能一会是语句,一会又加了个定义变量的语句。只有c++里是可以在使用的时候才定义一个变量的。

这里还是有点不懂。
C++是指开始时选择的文件吧。
我按教学来,是选C++ Source File的



又来吧。像如,

#include
int main()
{
int a;
a=4;
int b=a+4;
printf("%d\n",b);
return 0;}

或者
#include
int main()
{
int a;
a=4;
int b;
b=a+4;
printf("%d\n",b);
return 0;}

都是错误的。


#include
int main()
{
int a=4;
int b=a+4;
printf("%d\n",b);
return 0;}

而这个又是对的。

我不明白啊,为什么????
2011-11-26 20:50
id3663423
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:48
专家分:63
注 册:2009-4-15
收藏
得分:2 
以下是引用daming1在26-11-2011 19:48:31的发言:

#include
int main()
{
int a,b=a+4;
scanf("%d",&a);
printf("%d\n",b);
return 0;
}
输出结果为什么不对的。

#include
int main()
{
int a;
scanf("%d",&a);
int b=a+4;
printf("%d\n",b);
return 0;}

是错误的,运行不了。


#include
int main()
{
int a,b;
scanf("%d",&a);
b=a+4;
printf("%d\n",b);
return 0;}

这,又是对的。



以上的,有谁知道答案,能帮我解答一下吗?
int a,b=a+4;
int b=a+4;
你干嘛定义的时候进行变量计算,赋初值没你这么赋的

每多学一点知识,就少写一行代码.
2011-11-26 21:36
id3663423
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:48
专家分:63
注 册:2009-4-15
收藏
得分:2 
赋初值不能这么赋...你写成b=3+4什么的就可以,就跟赋值不能写成a=b=c=3,但是表达式是允许的


[ 本帖最后由 id3663423 于 2011-11-26 21:40 编辑 ]

每多学一点知识,就少写一行代码.
2011-11-26 21:38
daming1
Rank: 1
来 自:开平
等 级:新手上路
帖 子:21
专家分:0
注 册:2011-11-26
收藏
得分:0 
回id3663423,定义的时候进行变量计算,可以的吧

#include<stdio.h>
int main()
{
int a=4;
int b=a+4;
printf("%d\n",b);
return 0;}
就行啦!
见我的3楼,还有,我3楼那忘记加<stdio.h>,现在补充。
继续3楼的问题
2011-11-26 21:52
boto
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2011-4-3
收藏
得分:1 
楼上已经讲了很多,我不再赘述。C语言中的变量一定要先声明,再调用。而C++则可以使用前再声明。
2011-11-26 21:59
daming1
Rank: 1
来 自:开平
等 级:新手上路
帖 子:21
专家分:0
注 册:2011-11-26
收藏
得分:0 
多谢各位的解答,我明了
2011-11-26 23:02
快速回复:学C语言不久,有个小问题
数据加载中...
 
   



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

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