请教一个简单问题
请教:如果想输入一段字符,以“!”结尾,下面程序为什么不对
#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]);
}
----------------解决方案--------------------------------------------------------