C语言中简单问题,希望能举个简单程序例子
static的用法while(1)的用法while(p!='\0')while((s[i]=getchar())!='\n')用'\0'和'\n'有什么区别??#incl...
static的用法
while(1)的用法
while(p!='\0')
while((s[i]=getchar())!='\n')
用'\0'和'\n'有什么区别??
#include<stdio.h>
void main()
{ int upper=0,lower=0,digit=0,space=0,other=0,i=0;
char *p,s[20];
printf("Input string:");
while((s[i]=getchar())!='\n')i++;
p=&s[0];
while(*p!='\n')
{
if((*p>='A')&&(*p<='Z'))++upper;
else if((*p>='a')&&(*p<='z'))++lower;
else if(*p==' ')++space;
else if((*p>'0')&&(*p<'9'))++digit;
else ++other;
p++;
}
printf("upper number:%d\n lower number:%d\n digit number%d\n space number%d\n other number%d\n",upper,lower,digit,space,other);
} 展开
while(1)的用法
while(p!='\0')
while((s[i]=getchar())!='\n')
用'\0'和'\n'有什么区别??
#include<stdio.h>
void main()
{ int upper=0,lower=0,digit=0,space=0,other=0,i=0;
char *p,s[20];
printf("Input string:");
while((s[i]=getchar())!='\n')i++;
p=&s[0];
while(*p!='\n')
{
if((*p>='A')&&(*p<='Z'))++upper;
else if((*p>='a')&&(*p<='z'))++lower;
else if(*p==' ')++space;
else if((*p>'0')&&(*p<'9'))++digit;
else ++other;
p++;
}
printf("upper number:%d\n lower number:%d\n digit number%d\n space number%d\n other number%d\n",upper,lower,digit,space,other);
} 展开
2个回答
展开全部
【static的用法】
int counter(){
static int i=0;/*把这个static加上或去掉就会导致这个函数有不同的效果*/
i++;
return i;
}
/*加上static,每次调用函数会返回1,2,3,4,...不加static,这个函数就永远返回1
【while(1)的用法】
while(1)本意表示永远循环,即“死循环”。所以用在确实需要死循环的地方,或者是循环体内部有单独控制循环结束的break语句
【while(p!='\0')】
字面意思是p不为'\0'时继续循环。你只写这么一句我没法解释更多
【while((s[i]=getchar())!='\n')】
字面意思是从控制台读入字符存储到s[i],并判断这个字符是否为'\n',如果是则继续循环
【用'\0'和'\n'有什么区别??】
区别大了去了,'\0'是空字符(通常表示字符串的结束),'\n'表示换行符
int counter(){
static int i=0;/*把这个static加上或去掉就会导致这个函数有不同的效果*/
i++;
return i;
}
/*加上static,每次调用函数会返回1,2,3,4,...不加static,这个函数就永远返回1
【while(1)的用法】
while(1)本意表示永远循环,即“死循环”。所以用在确实需要死循环的地方,或者是循环体内部有单独控制循环结束的break语句
【while(p!='\0')】
字面意思是p不为'\0'时继续循环。你只写这么一句我没法解释更多
【while((s[i]=getchar())!='\n')】
字面意思是从控制台读入字符存储到s[i],并判断这个字符是否为'\n',如果是则继续循环
【用'\0'和'\n'有什么区别??】
区别大了去了,'\0'是空字符(通常表示字符串的结束),'\n'表示换行符
追问
下面的程序(见问题补充第6行)为什么没有用'\0'?答案却用‘\n’
追答
控制台里是无法输入'\0'的,用户会以回车符'\n'表示输入结束,因此程序也应用'\n'来判断输入结束
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static代表在整个运行期变量都存在
while(1) 说明是死循环
如
while(1)
{
printf("true\n");
}
它会一直打印true;
while(p!='\0')
说明p如果为字符‘\0’时循环会运行
'\0' 是空字符
’\n'是换行符
while(1) 说明是死循环
如
while(1)
{
printf("true\n");
}
它会一直打印true;
while(p!='\0')
说明p如果为字符‘\0’时循环会运行
'\0' 是空字符
’\n'是换行符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询