想学编程的Noob 发表于 2018-12-28 17:29:40

an easy problem


Among the following statements, __ is equivalent to while( *s++ = *t++ );. (2分)
A. do { *s = *t++; } while ( *s++ );
B. while ( *t ) *s++ = *t++;
C. do { *s++ = *t++; } while ( *t );
D. while ( *s ) *s++ = *t++;


[/题干给的这个循环语句应该怎么分析,b]

想学编程的Noob 发表于 2018-12-28 17:36:10

#include "stdio.h"
int main(){
    long num=1;
    while(num++ > 0) for(long i=num; i >=0; i--)printf("i :=\n \t %ld \n" , i);
    return 0;
}
还有这个为什么答案是有限次循环

BngThea 发表于 2018-12-28 18:16:34

去复习一下运算符的优先级即可

想学编程的Noob 发表于 2018-12-28 19:22:14

BngThea 发表于 2018-12-28 18:16
去复习一下运算符的优先级即可

谢谢   那我下面那个问题能不能解答一下

wxbsky 发表于 2018-12-28 23:33:55

分析while( *s++ = *t++ )
第一步while()中*s = *t
第二步进行while判断,即 前两步相当于while(*t)
第三步 *s++ , *t++

wxbsky 发表于 2018-12-28 23:37:50

下面那个问题的分析:
long型数越界后就变成负数(最高位为1),while()循环就停止了

BngThea 发表于 2018-12-29 08:52:57

想学编程的Noob 发表于 2018-12-28 19:22
谢谢   那我下面那个问题能不能解答一下

越界
页: [1]
查看完整版本: an easy problem