c语言中while(num)或if(num)就执行语句,num表示啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中while(num)或if(num)就执行语句,num表示啥?相关的知识,希望对你有一定的参考价值。

while 和 if 括号中的都是判断条件 分为真和假,如果是真 就执行他们的程序,一般在c语言中 假用0表示 其他数表示真 所以 如果num不为0 就表示真 执行该语句的内容,为0表示 假 跳过该语句内容 参考技术A num的值是大于0的整数,其在这里表示条件语句的‘1’,为真。所以就执行语句了本回答被提问者采纳 参考技术B num表示条件,一般你可以写完整,比如while(num>0) 参考技术C num为真。。。就是为1 的意思

C语言语句执行顺序(初学者)

#include<stdio.h>
void main()
int i=0,num=0;
char str[100],c;
gets(str);
dowhile((c=str[i])==‘’)i++;
if(c!='\0')num++;
while((c=str[i])!=''&&c!='\0')i++;
while(c!='\0');
printf("number of word :%d",);

原题是输入一行字符,统计有多少个单词
我不明白从do开始(也就是这部分dowhile((c=str[i])==‘’)i++;
if(c!='\0')num++;
while((c=str[i])!=''&&c!='\0')i++;
while(c!='\0');
)执行后的执行顺序以及各语句意义
望知情者解释一下,主要是先执行什么语句,然后依次怎么执行啊
初学者,谢了希望解释详细一点主要是执行顺序

先执行do while()这个语句中括号部分,执行完后判断while语句是否成立,成立则继续执行中括号中语句,如此循环。中括号中部分,while((c=str[i])==‘’)i++;是先执行c=str[i]这个赋值语句,然后判断c的值是否等于' ',等于的话就执行i++,然后继续执行c=str[i],如此循环。while((c=str[i])!=''&&c!='\0')i++;是先执行赋值语句c=str[i],然后判断c是否等于' ',等于的话再判断c是否等于'\0',两个条件都成立的话就执行i++,如此循环。 参考技术A #include <stdio.h>
void main()
int i=0,num=0;
char str[100],c;
gets(str); /* 1 */
dowhile((c=str[i])=='')i++;/* 2 */
if(c!='\0')num++;/* 3 */
while((c=str[i])!=''&&c!='\0')i++; /* 4 */
while(c!='\0'); /* 5 */
/* 也就是第2~5个语句循环执行直到c不等于空字符为止。 */
printf("number of word :%d", num); /* 6 */

好像这个程序有错误
参考技术B 你是只计算单词,还是计算这个字符的整体长度?
#include<stdio.h>
void main()

int i=0,num=0;

char str[100],c;

gets(str);

do
while((c=str[i])==' ')i++;

if(c!='\0')i++;

while((c=str[i])!=' '&&c!='\0')i++;

while(c!='\0');
printf("number of word :%d",i);

写c语言要注意格式清晰,上面这个是计算所有字符的。从do开始进入进入while,在while中判断是否是空格,是就累加i,不是就结束while循环。进入if语句,判断当前是否读到字符串末尾。然后是进入while((c=str[i])!=''&&c!='\0')i++;。。。。最后一个while是控制do-while整体循环的。。。。。。。。。。其实吧统计字符用不到这么麻烦
#include<stdio.h>
void main()

int i=0,j=0;

char str[100];

gets(str);

while(str[j]!='\0')i++;j++;

printf("number of word :%d",i);

这样一样可以计算这个字符的长度。。。。。。。就这些吧,
参考技术C 初学时要注意格式,运行过了,正确!
#include<stdio.h>
void main()

int i=0,num=0;
char str[100],c;
gets(str);
do

while((c=str[i])==' ')/*while循环的作用是把数组st[100]r中的第一个字符赋值给c。
最开始i=0,如果第i个字符是空格,执行语句i++;继续循环。当遇到字符时(也就是开始出现单词时)结束while循环,执行下一步操作*/
i++;
if(c!='\0')/*如果c的值不等于‘\0’,即不是结束符,那么num++;(计算单词的数量)*/
num++;
while((c=str[i])!=' '&&c!='\0')/*如果c不等于空格符,那么i++;直到第i个字符为空格时,结束循环。
然后再一次执行dowhile整个大循环,直到整个字符数组的中出现‘\0’,即结束符*/
i++;
while(c!='\0');
printf("number of word :%d\n",num);
本回答被提问者采纳

以上是关于c语言中while(num)或if(num)就执行语句,num表示啥?的主要内容,如果未能解决你的问题,请参考以下文章

C语言while执行不了,代码见图?

C语言 计算num上各位数字之积 如输入152 则输出10 补充一下就可 不需要改动 在线等!

有对C语言熟悉的吗?我对if语句有点小小的疑问,请您解答。。

求两个数的最大公约数c语言怎么做用while语句

c语言。 if(num&0x01),这个if语句里面判断的是啥?

C语言语句执行顺序(初学者)