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);
}
展开
 我来答
wwylele
推荐于2017-09-08 · TA获得超过2523个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:1092万
展开全部
【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'表示换行符
追问
下面的程序(见问题补充第6行)为什么没有用'\0'?答案却用‘\n’
追答
控制台里是无法输入'\0'的,用户会以回车符'\n'表示输入结束,因此程序也应用'\n'来判断输入结束
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qinflying
2014-10-08 · 一个低调有内涵的技术人员
qinflying
采纳数:452 获赞数:1416

向TA提问 私信TA
展开全部
static代表在整个运行期变量都存在
while(1) 说明是死循环

while(1)
{
printf("true\n");
}
它会一直打印true;
while(p!='\0')
说明p如果为字符‘\0’时循环会运行
'\0' 是空字符
’\n'是换行符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式