c语言问题while循环的问题
发布网友
发布时间:2023-11-08 07:26
我来回答
共1个回答
热心网友
时间:2024-10-24 06:25
要考虑 运算符优先级和结合性 ,
while(c=getchar()!='\n') 里面,
圆括号最高,其次是 不等于,赋值运算符最低。所以 上面可以写成:
while(c = ( (getchar()) != '\n') )
这样,c 得到的是逻辑值,即 真 或 假, 数值等于 1 或 0。
而 while((c=getchar())!= '\n')
这里 c 得到的 是 char 型,数值等于 读入字符对应的 ASCII 值。
输入字符是回车的时候, 两者 都 跳出循环 是 一样的。
但如果 循环体内 要 用到 c 时,那么 循环体 里语句 执行的结果 就 不同了。
c语言问题,运行程序段后输出1。
运行程序段后输出1。while(!x!=0) 等价于 while ( (!x) != 0),则 s初始化值为0,故有 !x = 1,接着 1 != 0 ,显然,结果为真。执行while后面的循环语句 s+=++x;(注意,++是前缀的),即 s = s+(++x)[ s= 0+ 1=1],完成后x=1,再次进入循环判断,根据上面的分析,...
c语言while循环一次都没有执行,正确吗?
循环执行的次数为:0次。也就是说程序while一次都不会被执行。代码的分析:首先定义了整形变量K,并且将K的值赋值为0,然后执行接下来的语句,准备执行while循环,但是判断条件是“K=0”,那么会再次将K的值赋值为0,当条件为0时会直接退出while循环,然后执行while循环之后的语句。所以得出while循环只...
C语言用while语句?
C语言用while语句?在C语言中,while语句被用于重复执行某个代码块,只要指定的条件为真。循环体将一直执行,直到指定的条件变为假。while循环的语法如下所示:while (condition) { //循环体代码块 } 在这个语法中,condition是一个布尔表达式,它在每次迭代前被求值。如果该表达式的结果为真,则执行循...
C语言while(a--),while(--a)循环次数
while(a--)的先判断a的值在计算也就是说跳出时a=0然后减一,输出为-1,而--a先计算后判断也就是说先a=a-1后判断a=0跳出,输出为0
问一道C语言题目
do{}while()这种是,先进入一次循环体,然后才判断是否满足条件,注意,这种方式是无论条件是否满足,都会循环一次,另外,它的退出条件是不满足了,才退出。对于本题,首先第一次进入循环,输出:4,此时x=4-2=2 然后,判断2>0,满足,进入循环,输出:2,此时x=2-2=0 然后,判断0>=0,满足...
在c语言中while()语句括号里面是一个数字代表什么意思,比如while...
c语言下,while()括号里面放的是循环的条件,若是真,则循环;否则,停止。1)任何非零的整数都是为真的,所以while(1)和 while(2)和 while(3)等都是一个意思。2)若是指针的话,NULL则为假,反之则为真。3)a > b 等类似的表达式,满足为真,反之为假。
一个C语言while的小问题
count++<20的意思是先执行这个判断后再+1,显然退出while循环的时候,count的值是20,判断后再加1,值就是21了。另外,你的while循环没加括号,所以while循环里面只有sum=sum+count;输出那句话,是在循环外面执行的!
c语言为什么while运行到一半就不运行了
几个问题:1、电话和密码用 long int长度可能不够,容易越界出错,建议用char[],长度自定。2、while(b!=c)里面,b、c显然是char[],直接 b!=c没有意义,比较的是地址而不是值,它们不会相等。应该用 strcmp(b, c)!=0;3、stu[n+i].mima定义为long int, stu[n+i].mima = b只是...
C语言中while循环语句的用法?
答案是4 关键在这一句:while(n++<=2);先分析这个n++,它是先使用n的值后再让其自增。所以n++<=2的意思就是先拿n的值与2比较,然后让n增1 再看看这个while语句 因为它后面有一个分号,所以它的循环体是空。也就是说它一直当n为3时会跳出这个什么也没有做的循环,但n的值又自增了1为4...
c语言while循环为什么执行不了
因为你的break没有在大括号里,每次直接跳出了循环,条件判断后的多条语句一定要放到括号里。我帮你改了一下,你再试试。include <stdio.h>#include <stdlib.h>#include int main(){int number, a;int i = 9;srand((unsigned)time(NULL));number = rand() % 101;while(1){i--;if (i ...