C语言怎么退出while循环

请各位帮我看看,为什么按了#还是没有办法退出循环?#include<stdio.h>#include<stdlib.h>#include<ctype.h>intmain(... 请各位帮我看看,为什么按了#还是没有办法退出循环?

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main(void)
{
char a[100];
int i;

while(1){
scanf("%s",&a);

if(a=="#")

break;
else{

for(i=1;i<sizeof(a);i=i+2)
{

a[i]=toupper(a[i]);

}
printf("%s\n",a);

}}
return 0;
}
展开
 我来答
不不见不念
高粉答主

2018-12-03 · 说的都是干货,快来关注
知道答主
回答量:122
采纳率:0%
帮助的人:1.7万
展开全部

if条件语句写错了:

if(a=="#")        判断字符串相等不能用等号

if (strcmp(a, "#") == 0)       要这么写

while 是一个循环体,退出循环体的方法有:

(1)循环体条件 不成立,如:while( a>0); 当 a≤0 的时候,条件 a>0不成立,while 循环结束,退出 while 循环。

(2)在循环体内使用无条件跳出语句(break),如 while(1){if(b>5)break;}当 b>5 的时候,程序执行 break ,跳出 while 循环体,循环体被结束。

(3)在循环体内使用 函数返回 语句(return),如 while(1){if(c>8) return (XXX);},当 c>8的时候,程序执行 return,退出函数返回到上级函数。其中返回值 XXX 需要根据 函数类型进行返回。

如 int 型函数 int fun(),XXX 应为 int型,空返回值函数 void fun(),XXX 可以省略。

扩展资料:

其他语言中while循环的语法:

1、Pascal

while <条件> do <语句>

意为当条件符合时,接着做下面的语句;不符合时,退出循环。

2、C语言

do <语句> while(<条件>);

while(<条件>) <语句>;

3、Java

while(<条件>) {<语句;>}

do {<语句;>} while(<条件>);

二者的区别是do-while最少会被执行一次。

循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。

烟火夜空
2015-05-23 · TA获得超过6623个赞
知道大有可为答主
回答量:1678
采纳率:93%
帮助的人:564万
展开全部
while 是一个循环体,退出循环体的方法有:
① 循环体条件 不成立,如:while( a>0); 当 a≤0 的时候,条件 a>0不成立,while 循环结束,退出 while 循环。
②在循环体内使用无条件跳出语句(break),如 while(1){if(b>5)break;}当 b>5 的时候,程序执行 break ,跳出 while 循环体,循环体被结束。
③在循环体内使用 函数返回 语句(return),如 while(1){if(c>8) return (XXX);},当 c>8的时候,程序执行 return,退出函数返回到上级函数。其中 返回值 XXX 需要根据 函数类型进行返回,如 int 型函数 int fun(),XXX 应为 int型,空返回值函数 void fun(),XXX 可以省略。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一路清晨503
2013-08-13 · TA获得超过228个赞
知道小有建树答主
回答量:413
采纳率:100%
帮助的人:253万
展开全部
if(a=="#")

break;
这里不能有空行
你最好把if下面属于这个if的语句用括号括起来
如:
if(a=="#")
{
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
茫茫路远何处去
2013-08-13 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:41.3万
展开全部
输入 #号 啊 。你把a变成字符串接受了 所以a就不是字符了。应该scanf("%1s",&a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackwind1987
2013-08-13 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:489万
展开全部
if(a=="#") // 判断字符串相等不能用等号
if (strcmp(a, "#") == 0) // 要这么写
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式