- 论坛徽章:
- 0
|
最终结果与预期结果不符
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
void getline(char *str);
int main (int argc,char **argv)
{
int len;
char str[1024] = "hello world thank!!!";
while(1)
{
len = 0;
getline(str);
printf("str = %s\n",str);
if(strcmp(str,"exit") == 0)
break;
else
printf("end....\n");
}
return 0;
}
void getline(char *str)
{
char *temp = str;
char c;
memset(str,'\0',sizeof(str));
while ((c = getchar()) != '\n')
{
*(temp++) = c;
}
}
好象是和字符串常量区域和栈区域有点关系
不清楚
当输入四个字母时“1234”,打印“1234”没什么情况
当输入超过四个字母时“123456”,就会出现“123456 world thank!!!” 的情况
[[i] 本帖最后由 banboo2004 于 2006-3-17 13:33 编辑 [/i]] |
|