main() { int i; char k[10]; for(i=0;i<10;i++) { scanf("%c",&k[i]); } for(i=0;i<=10;i++) if(i>='0'&&

main()
{
int i;
char k[10];
for(i=0;i<10;i++)
{
scanf("%c",&k[i]);
}
for(i=0;i<=10;i++)
if(i>='0'&&i<='9')
k[i]=i;
printf("%c ",k[i]);

}
这个错在哪儿了
我是要输入一个字符串 比如1j23h12j3h1 然后吧数字输出

第1个回答  2011-04-08
错在这里了,1)数组k[10]越界
2)if没有包住printf语句
for(i=0;i<=10;i++)
if(i>='0'&&i<='9')
k[i]=i;
printf("%c ",k[i]);

其实你只要控制好循环次数,不越界,里面不用判断的。
main()
{
int i;
char k[10];
for(i=0;i<10;i++)
{
scanf("%c",&k[i]);
}

for(i=0;i< 10;i++)
printf("%c ",k[i]);

}来自:求助得到的回答
第1个回答  2011-04-08
#include<stdio.h>

void main()
{
int i;
char k[10];
for(i=0;i<10;i++)
scanf("%c",&k[i]);
for(i=0;i<=10;i++)
if(k[i]>='0'&&k[i]<='9')
printf("%c ",k[i]);

}

照着这个程序读 应该能读懂 如果有必要 再追问一下追问

我的第二个FOR就是用来吧K[i]中的东西读出来,为什么if还是要吧K[i]写进去 而不是i呢?

本回答被提问者采纳
相似回答
大家正在搜