高手看下这个c程序

来源:百度知道 编辑:UC知道 时间:2024/05/09 01:08:58
main()
{
char k; int i;
for(i=1;i<3;i++)
{
scanf("c%",&k);
switch(k)
{
case'0': prtitf("another\n");
case'1': printf("number\n");
}
}
}
请问那个i是干什么用的?运行结果是什么?
哦,在键盘上输入01并回车,结果是什么?

i是用来控制循环次数的,循环两次
这个程序是根据输入的字符输出结果
上面的说法都不对,如果楼主有vc或者其他环境的话可以试一下,运行结果是这样的:
如果输入0,输出结果为:
another
number
如果输入结果为1,输出结果为:
number
如果输入其他字符,则没有输出结果。

输入01,输出结果为:
another
number
number

这是因为在case语句后面没有break,所以程序会从匹配的那个字符的那一句开始运行,后面的不跳过。

下面这一段程序的才会输出楼上几位所说的结果:
case'0': prtitf("another\n");break;
case'1': printf("number\n");break:

i是用来限制循环次数的

运行结果是
要你输入字符,输如0,则打印出another
输入1,打印出number,其他的没结果
一共循环两次

#include "Stdio.h"
#include "Conio.h"
main()
{
char k; int i;
for(i=1;i<3;i++)
{
scanf("c%",&k);
switch(k)
{
case '0': printf("another\n");
case '1': printf("number\n");
}
}
getch();
}
为什么运行后不会输出another或 number呢?
程序有什么问题吗?

上面说的很对,i是循环变量,用来控制循环次数的。