当前位置: 代码迷 >> C语言 >> 请教一个简单问题
  详细解决方案

请教一个简单问题

热度:157   发布时间:2006-08-07 10:48:57.0
请教一个简单问题

请教:如果想输入一段字符,以“!”结尾,下面程序为什么不对
#include<stdio.h>
main()
{
char str[20];
int i;
for(i=0;str[i]!='!';i++)
{
scanf("%c",&str[i]);
}
}

搜索更多相关的解决方案: 简单问题  

----------------解决方案--------------------------------------------------------

!是字符.. 应该用CHAR吧


----------------解决方案--------------------------------------------------------
什么意思
----------------解决方案--------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int c, i = 0;
char str[20];

while ((c = getc(stdin)) != '!')
str[i++] = c;
str[i] = '\0';

printf("str = %s\n", str);

exit(0);
}



----------------解决方案--------------------------------------------------------
我的程序为什么是错的 哪里有问题啊
----------------解决方案--------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>
void main()
{
int c, i = 0;
char str[20];
while ((c = getc(stdin)) != '!')
str[i++] = c;
str[i] = '\0';
printf("str = %s\n", str);
return;
}
----------------解决方案--------------------------------------------------------
lou shang sha yi si?????

----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
char str[20];
int i;
for(i=0;str[i]!='!';i++)
{
scanf("%c",&str[i]);
}
}
这个应当是一个错误
你读入的字符放在第i个位置,而你的判断是判断第i+1个字符
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
char str[20];
int i;
for(i=0;str[i++]!='!';)
{
scanf("%c",&str[i]);
}
}

在网吧没有编译器,不知道这样行不行
----------------解决方案--------------------------------------------------------

#include<stdio.h>

void main()
{
char str[20];int a=0;

for(int i=0;i<20;i++)
{ scanf("%c",&str[i]);
a++;
if(str[i]=='!')goto end;

}

end:for( i=0;i<a;i++)
printf("%c",str[i]);
}


----------------解决方案--------------------------------------------------------
  相关解决方案