初始化赋值时a = b = 常数 的易犯错误

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int a,b; a=b=2; //成功
 6     //int a = b = 2;失败
 7     printf("%d %d",a,b);
 8     system("pause");
 9     return 0;
10 }

新手注意直接初始化变量的 int a = b = 2这样的写法会导致编译失败。 
如何能让这个语句正确呢,那就在前面声明好b,并且给它赋值,要不要是不能把变量赋值给变量的。修改如下即可:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int b = 2; //声明并赋予其值
    int a = b = 2;
    printf("%d %d",a,b);
    system("pause");
    return 0;
}

经上分析,出错的原因可知,一是赋值问题,二是变量声明问题,是他们两的综合结果。

初始化赋值时a = b = 常数 的易犯错误

时间: 2024-10-14 23:45:32

初始化赋值时a = b = 常数 的易犯错误的相关文章

[golang 易犯错误] golang 局部变量初始化:=的陷阱

我们知道,golang中局部变量初始化方法(使用“:=”创建并赋值),让我们在使用变量时很方便.但是,这也是易犯错误的地方之一.特别是这个初始化符还支持多个变量同时初始化,更特别的是它还支持原有变量赋值和新变量创建并赋值同时进行!也就是说如果有部分变量不存在的而另外一些是已声明好的,用:=来初始化部分变量同样有效.这其实也没什么,更方便了嘛.但是,go的好多语句还支持局部前置语句,比如在if,for,switch等语句的初始化条件语句中.在这些地方,当你以为使用了原有变量的时候,实际上go已经为

Python 基础教程 和 易犯错误(文本处理)

一:基础教程 (1)文件I/O  非常类似于 c语言:IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. spath="D:/download/baa.txt" f=open(spath,"w") # Opens file for writing.Creates this file doesn't exist. f.write(&

编程中易犯错误汇总:一个综合案例.md

# 11编程中易犯错误汇总:一个综合案例 在上一篇文章中,我们学习了如何区分好的代码与坏的代码,如何写好代码.所谓光说不练假把式,在这篇文章中,我们就做一件事——一起来写代码.首先,我会先列出问题,然后要求读者自己写一份答案:然后,我会给出我写的代码:最后,我们还会以这个问题为例,讨论编程中常见的错误. ## 1 问题描述 在[这个](http://wiki.openhatch.org/index.php?title=Scrabble_challenge)页面中,有一道Python相关的练习题,

样式易犯错误

1,可使字和图标对其 .logo_right img{ margin-right:10px; vertical-align: middle; 如: 2,a标签样式 .nav a:link ,.nav a:visited{ color:rgb(255,255,255); font-size:20px; text-decoration:none; } .nav a:hover ,.nav a:active{ color:#C00; text-decoration:none; font-size:20

C++设计实现算法时易犯错误

1.未初始化 指针未初始化为NULL,造成判断条件出错 数值未初始化为0,造成数组超界,内存泄漏 2. long long输入时 lld or I64d 写成d一定出错 3.gcc编译报错:程序中有游离的‘\357’‘\273’‘\277’等 感谢http://www.cnblogs.com/lidp/archive/2009/06/17/1697886.html 造成的原因主要有两个:1. 程序(*.c,*.h)中使用了中文的标点符号(全角),比如:,},+.改成英文的标点半角符号就行了.甚至

一个Java增强型for循环的易犯错误,你注意到了吗?

我们知道,在Java语言中有三种循环,分别是while循环,do-while循环和for循环.其实,从JDK1.5开始,又引入了一种增强型for循环,这种新型的for循环主要是用来遍历数组或集合的,它的格式非常简单,下图展示了增强型for循环的基本结构: 增强型for循环被设计出来就是为了遍历数组或者是集合的,所以在循环中都会指定一个数组或者是集合.为了方便程序员编码,增强型for循环不再通过"下标"的形式访问数组或集合中的元素,而是把依次从数组或集合取出元素,并命名为i,这样,程序员

Python初学的易犯错误

当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”) 该错误将发生在类似如下代码中: ? 1 2 if spam == 42     print('Hello!') 2)使用 = 而不是 ==(导致“SyntaxError: i

&lt;06&gt;变量使用前易犯错误总结+if语句介绍及基本格式+if-else语句及嵌套+if语句的高级用法+if语句的使用注意点+arc4random_uniform 函数导入一个头文件&lt;stdlib.h&gt;+

1)变量要初始化 -1 0  ,或者1 依据程序而定 ---------------------------------- if语句介绍及基本格式 分支语句结构 1)if 格式: if(表达式/常量/变量){ 语句块1; } 原理: 1)先计算小括号中的表达式的值 真(1) 会执行 大括号中的语句 假(0) 不会执行 大括号中的语句 2) switch 1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 5

Java开发者易犯错误Top10

摘要:在Java中,有些事物如果不了解的话,很容易就会用错,如数组转换为数组列表.元素删除.Hashtable和HashMap.ArrayList和LinkedList.Super和Sub构造函数等,如果这些对你来说是陌生的,你可以在本文中了解它们. 本文总结了Java开发者经常会犯的前十种错误列表. Top1. 数组转换为数组列表 将数组转换为数组列表,开发者经常会这样做: [java] view plaincopy List<String> list = Arrays.asList(arr