请各位大师详细解答下这个C语言语句的详细意思,最好是一步步的讲
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请各位大师详细解答下这个C语言语句的详细意思,最好是一步步的讲相关的知识,希望对你有一定的参考价值。
#include "stdio.h"
#include "conio.h"
#define nmax 50
main()
int i,k,m,n,num[nmax],*p;
printf("please input the total of numbers:");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<n-1)
if(*(p+i)!=0) k++;
if(k==3)
*(p+i)=0;
k=0;
m++;
i++;
if(i==n) i=0;
while(*p==0) p++;
printf("%d is left\n",*p);
getch();
中的复合语句,意思是
当if成立时,你要执行多个语句时,要把这些语句用括起来,这些被
括起来的语句就叫复合语句,在语法上,复合语句被认为是一句.你可以理解为用小零件合成了一个大的东西 参考技术A #include "stdio.h"
#include "conio.h"
#define nmax 50
main()
int i,k,m,n,num[nmax],*p;
printf("please input the total of numbers:");
scanf("%d",&n); //输入n个数
p=num;
for(i=0;i<n;i++)
*(p+i)=i+1; //其实是数组里面有n个元素,每个数组中的元素被赋值从1到n
i=0;
k=0;
m=0;
while(m<n-1)
if(*(p+i)!=0) k++;
if(k==3) //从这1到n个数中当数到3个数的时候,将这个数赋值为0,并且反复从1数到n,不数0,最后剩下什么数就输出
*(p+i)=0;
k=0;
m++;
i++;
if(i==n) i=0;
while(*p==0) p++;
printf("%d is left\n",*p);
getch();
本回答被提问者采纳 参考技术B 就是报数 1 2 3然后报3的人退出,剩下的人丛1开始 直到n个人剩下一个人 看剩下那个人是原来第几个人 参考技术C 我是来看分的 分少我就不看了
C语言for循环详细讲解
参考技术A 一般情况下for循环里包含3条语句,第一句是为循环变量赋初始值值,第二句是循环条件,第三句是给循环变量重新赋值,例如:for(i=0;i<num;i++)
//
这个循环的循环变量是i,i的初始值是0,循环条件是i<num,i以自增的方式赋新值,也可以写出i+=10,即i=i+10。就拿上面这个例子来说,执行的过程是先给给i赋初值,再判断i是否小于num,若是则执行for循环里的语句,执行完之后再执行i++,然后再判断i是否小于num,若是则仍执行for循环里的语句,否则退出循环。
以上是关于请各位大师详细解答下这个C语言语句的详细意思,最好是一步步的讲的主要内容,如果未能解决你的问题,请参考以下文章
linux下如何编译安装openssl模块?请高手详细解答一下。。。。。。。。。。【】【】
oracle语句的级联问题,这个语句e.mgr=m.empno(+) 谁可以给我讲讲这个是啥意思还带有(+)详细解答哦!