我正在研究c,以下是我的代码:
#define _GNU_SOURCE
#include<stdio.h>
#include<stdlib.h>
int main()
{
char* str = NULL;
size_t n;
printf("Enter the string : \n");
getline(&str, &n, stdin);
printf("Initial string is : (%s)\n", str);
return 0;
}
当我运行上述程序时,它会给出以下输出:
Enter the string :
bsalunke
Initial string is : (bsalunke
)
意外字符串存储在str
指针中的原因可能是什么(即它是一个带有许多空格的字符串)?我在 linux 上使用 gcc 4.1.2 版本