本文目录一览:
- 1、C语言不能在赋值之后再定义变量么
- 2、C语言中变量赋值前后的问题,在定义变量时赋值和使用时的区别及原因。
- 3、c语言 关于先定义后赋值报错的问题。
- 4、c语言结构体数组赋值,为什么我赋值时就出错?
- 5、c语言常见的赋值错误。。。
- 6、C语言为什么先定义后赋值会出错而定义的同时赋值就没有错??
C语言不能在赋值之后再定义变量么
是的,编译器的行为和语言标准扭打在一块了,以前在.cpp写很随意,但.c就要注意了写c必须在第一行定义变量应该是先定义,再单独赋值,或者直接定义并赋值int a=7;
C语言中变量赋值前后的问题,在定义变量时赋值和使用时的区别及原因。
外循环完毕的时候ji的值已经变成上次循环结束时候的值了, 两个没有什么特别的区别.只是如果是const变量就必须在定义时候初始化.
c语言 关于先定义后赋值报错的问题。
C89 规定 在函数体开头 把要用的变量都定义好
除非是 局部变量 用 { } 括起来
这就导致
int a,b,c;
a=5;
b=4;
c=3;
int s,t;
会报错
要改成
int a,b,c;
int s,t;
a=5;
b=4;
c=3;
才行
+++++++++++++++++
C99 规定 可以 在需要某个变量的时候再定义变量,
不用在函数体开头 把一大堆变量都定义好
c语言结构体数组赋值,为什么我赋值时就出错?
因为cname是个数组,所以不能用"="赋值
可以用strcpy函数复制字符串
strcpy(student[1].cname, bb); //这样复制
c语言常见的赋值错误。。。
第二个是对的 char c = 32;
其他两个是错误的。
int n1=n2=10; 这个n2声明了吗??n2是什么类型的元素。
int n2=10;
int n1=n2; //这样是对的。
int n1,n2;
n1=n2=10; //这样也是对的。因为,n2在前面都声明了。
float f=f+1.1; //后面的这个f是什么?从哪里来的?代表的值是多少?这些编译器都不知道。
那么即使这样正确了,f的值也是不可预测的。所以,这个也不正确。
在C/C++中,变量都是先声明,后使用。
C语言为什么先定义后赋值会出错而定义的同时赋值就没有错??
经测试 两种方式都可以,你之所以出现上述错误是因为你的编译的语言不对,你这是标准的C语言,而你用的文件后缀是.cpp,这是标准的C++语言的,所以会出现这种错误,C++语言全局变量必须要声明的时候赋值,不可以在全局给他 在声明之后再写语句赋值。你可以改为后缀名.c或者是.h的来编译 就可以了