运行结果是3 2 -1
&&运算符的判断逻辑是如果前面的为真,那么需要判断后面的,同为真,才返回真。
如果前面的为假,那么后面的运算不需要执行,直接返回假。
++i 的运算逻辑是先执行i=i+1的操作,然后对i之后的值进行判断
i++的运算逻辑是先进行值i的判断,然后执行值的增加i=i+1。
因此,运行的逻辑是这样的:
z=3开始进行判断是否大于0,如果是进行自减变为2,然后判断x+1后的值是否小于5,如果是的话,那么y进行自减1。
因此第一遍循环之后的值z , x , y 分别是
2,1,4
第二遍循环之后的值z,x,y分别是
1,2,3
第三遍循环之后的值z,x,y分别是
0,3,2
第四遍循环的时候,z--小于0为假,不进行++x的运算,因此z,x,y的值为
-1, 3, 2
亲我星期天才考完
是这样的
有发草稿纸
不过为了以防万一
还是带着草稿纸
我的选择题
起码有20道都是
计算题。。
编程题是
只要你运行结果正确
答案与标准答案不一致也没关系
人看的。
#include <stdio.h>#include<stdlib.h>
#include <time.h>
main()
{
time_t timeVar = time(NULL) // Get the current date and time
srand(timeVar)
char c
char ch, ch1//不需要ch1
int num2
num2 = 0
c = rand() % 26 + 'A'
printf("%c\n", c)
ch = getchar()
while (ch != c + 32)//大小写的值被你搞反了,大写的ASCII小
{
num2++
printf("输入一个小写字母:\n")
scanf("\n")
ch = getchar()
}
if (ch == c + 32)
{
printf("总共输入%d个字母才得到正确答案\n", num2+1)
}
system("pause")
return
}
//不好意思我看不太懂题目,如果按照您原来的写法,似乎是如果大写字母和小写字母不一致的时候,会重新生成一个大写字母,再要求输入小写字母直到一致。我想不出来这样有什么意义……我写的这个是大写字母不会变化的,直到你写的小写字母跟他一致为止,计算输入的次数,程序结束。如果题主认为原题目没有问题的话,能否描述的准确些或者举个例子,我再修改