c语言中 给全局变量用表达式赋值的问题

2021-03-12 05:25:18 字数 1920 阅读 9041

1楼:匿名用户

变量初bai始化赋值时必须是du常量,不能是变量zhi.

所以你可以先在初始化定义dao

uint c=0;

之后在程序里给回c赋值

c=a*b;

或者 #define uint unsigned int#define a 10

#define b 3

uint c=(a*b);

只能答这样....

给分吧.哈哈.

2楼:高金山

可以这么

写:bai

#define uint unsigned int#define a 10

const uint b=3; /////////////注意,这里du加了const,把b赋值为zhi3,并且不dao可改变,它需要在c=a*b之前

uint c=a*b;

int main

也可以内这么写:容

#define uint unsigned int#define a 10

uint b=3; /////////////b是全局变量,也可以放在main函数里面,作为局部变量

uint c;

int main

总结:1、如果用常量给全局变量赋值,可以在声明全局变量的时候,就对其赋值。

2、如果要用变量给全局变量赋值,赋值语句,必须写在程序里面。

3楼:皓

#define uint unsigned int#define a 10

#define b 3

uint b=b;

uint c=a*b;

4楼:匿名用户

uint c; 然后再main里面写 c= a*b;

c语言里不能用变量初始化。

当然c99标准里是可以的,不过多数编译器还不支持

5楼:匿名用户

1.全局变量(包括静bai态内部变量)du的初始化是在编译zhi阶段进行dao,与编译预处理内(#define a 10 )的处理容

过程在同一阶段,冲突。

#include

#define uint unsigned int#define a 10

uint b=3;

int main()

; for(i = 0; i < 7; i++)return 0;

} 2.动态变量的处理过程在运行阶段,uint c=a*b;没问题。

#include

#define uint unsigned int#define a 10

uint b=3;

int main()

; for(i = 0; i < 7; i++)return 0;}

6楼:匿名用户

将c定义为宏,bai满足楼主的要求,输出结du果如下zhi:

30 60

press any key to continue程序如下:dao

#include

#define a 10

#define unit unsigned intunit b=3;

#define c a*b

void main()

如果不用宏,直接用uint c=a*b;两次结果都专为30,不变,不是想要的属

7楼:

正确应该 写 typedef unsigned uint;

----------------------------------------

#include

#include

typedef unsigned uint;

#define a 10

uint b=3;

uint c;

void main()

JS中局部变量能修改全局变量吗,js里,局部变量的值赋给全局变量 10

1楼 关键我是小寒 变量名相同时,方法中的局部变量会覆盖全局变量,输出为局部变量的值。当离开此方法时,输出为全局变量的值。 2楼 孝昕圣飞翮 一 javascript的变量的scope是根据方法块来划分的 也就是说以function的一对大括号 来划分 。切记,是function块,而for whi...

c语言中三维数组的赋值问题,C语言中三维数组的赋值问题

1楼 匿名用户 int limit 4 5 2 你这样定义是 int limit 20 2 。int limit 4 5 2 应该是 int limit 4 5 2 c语言 三维数组赋值给二维数组,为什么可以这样?里面的数值不会改变了吗? 2楼 你的数组a其实仍然是二维数组,因为你给的值显然是一个二...

C语言中表达式1.0 3 3的值是

1楼 匿名用户 对呀,确实是这样的 因为浮点数的精度是这个1 0是浮点数,精度是小数点后6位。 所以1 0 3是0 333333,然后乘以3就是0 999999。 这个题目考查的是大家对各种数据类型精度的理解 2楼 子同 1 0 3按照单精度计算只保证小数点后面的前6位是有效位数 精度是6 ,所以计...