c - 程序有什么问题?

标签 c

我对 C 非常陌生,正在做一些我在买的书中发现的问题。这个程序有什么问题?

int main (void)
{
char text[50]='\0';
scanf ("%s", text);

printf("%c", text[49]);
printf("%s", text);

return 0;
}

最佳答案

char text[50]='\0';

无效。您可以跳过初始化 text 并直接声明它

char text[50];

或者你可以初始化它的第一个元素

char text[50]={'\0'};

您还缺少 stdio.h 的包含,并且应该真正检查您的 scanf 调用是否读取了一个字符串,并可以给它一个字符串的最大长度

if (scanf("%49s", text) == 1)

关于c - 程序有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19321260/

相关文章:

java - C 程序在运行时执行 shell 相对于 JAVA 中的输入和输出

c - 有没有办法将信息保存到结构体的指针

c - 在二维数组 c 上使用 realloc

c - 为什么我的筛子收到 SIGSEGV

c - ftruncate 不适用于 Mac OS X 中的 POSIX 共享内存

C程序字符串

c++ - 加载共享库的多个拷贝

c - 从 bash 运行时,for 循环在 c 文件中被跳过

c - 实现 9p 服务器

在Windows上配置Oracle预编译器