c语言输出问题(执行无错误,但结果无显示)

xianyu2015 发布于 2015/10/02 12:50
阅读 141
收藏 0

一个c语言的解码程序,1=a; 01=b;001=c.运行之后,没有错误,但结果显示不出来,请问下这段程序哪里有问题?

void main()
{
 char str[18] = "001011101001011001";
 int i = 0;
 while(i<18)
 {
 if(str[i]=='1')
 printf("c");
 i = i+1;
 break;
 if(str[i]=='0' && str[i+1]=='1')
 printf("b");
 i = i+2;
 break;
 if(str[i]=='0' && str[i+1]=='0' && str[i+2]=='1')
 printf("c");
 i = i+3;
 break;
 }
}

加载中
0
木琪相喻
这么奇怪的程序
0
木琪相喻

要么使用if-else语句,要么使用switch-case语句,这样混用是不对的。

此程序只执行到第一个break就结束了。

0
木琪相喻
不应用while循环,应该用for循环
0
老汉-憨憨
老汉-憨憨
continue;  继续啊   而不是 break;
0
老汉-憨憨
老汉-憨憨
这程序 错误的有点多啊
返回顶部
顶部