C语言中的&是什么意思啊?一般有什么用途?

while(scanf("%f",&grade)!=EOF&&grade>=0.0&&grade<=100.0)这句话是什么意思?
这一句话中怎么会有两个“&”啊?我看不懂...
那!=EOF是什么意思啊?

C语言中的“&”符号是取地址的意思,就是取出&后面的变量的地址。scanf("%f",&grade)就是输入一个实数然后把它送到grade所指向的内存单元。
while(scanf("%f",&grade)!=EOF&&grade>=0.0&&grade<=100.0)这是一个While循环语句,如果括号里的表达式是“真”(就是表达式是对的)的时候就执行后面的语句。而此处整个语句是表示:输入的实数不等于EOF;而且输入的实数grade大于或者等于0.0,同时输入的实数grade小于100的时候就执行后面的循环体语句。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-04
按位与 & : 01&10=00
取地址 & : int b=10; int * a=&b; &b取b变量的地址给指针a
逻辑与 && : 1&&0=0
第2个回答  2008-11-04
拼接符号
第3个回答  2008-11-04
在输入语句中&是求地址运算符。
scanf("%f",&grade)输入一个实数然后把它送到grade所指向的内存单元
在表达式中&表示作与运算,如
1&1=1, 至于具体的运算法则你以后会学到。

而&&是逻辑运算符中的 逻辑与运算。如 2>1&&4>2=1
这些基本的概念一般资料书上都有介绍的!
scanf("%f",&grade)!=EOF&&grade>=0.0&&grade<=100.0)就是要求那三个语句要同时满足。
第4个回答  2008-11-04
scanf()这可以说是个赋值函数,成功赋了一个值会返回一,赋了两个数返回2,不成功赋值返回0,
个人认为scanf("%f",&grade)!=0更好一点.

EOF是系统的宏定义,字面值是等于-1
你运行下
printf("%d\n",EOF);
就明白了.
第5个回答  2008-11-04
取地址
相似回答