CarpeDiemWP 2016-03-29 02:32 采纳率: 100%
浏览 1415
已采纳

scanf字符串的问题求解

编程实现用scanf读取一个字符串,然后打印出来。
char department[256];
scanf("%s",department);
printf("%s\n",department);
这个方法就能实现,而使用下面的指针方法就会出现报错(段错误 (核心已转储)
)。
char *department=Null;
scanf("%s",department);
printf("%s\n",department);
想问问为什么。
我的理解是前一种方法是事先申请了256的空间,而后者没有申请空间会导致溢出。
那么如果我不确定输入字符串长度的时候,该怎么处理呢?

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥40 python,计算机程序运行结果很奇怪
      • ¥15 有关时间计算器的问题
      • ¥200 Chrome浏览器自动保存密码需要解密!来人
      • ¥18 关于#c语言#的问题:如何把下面几个代码放在一起编序号,然后输入对应数字运行对应代码,还可以返回重输
      • ¥30 windows下无法运行go test的问题
      • ¥15 多个Rigify骨骼 导入一起 后 没有 控制器面板
      • ¥15 想问一下sprak ada语言的pre和post怎么设
      • ¥15 使用python将分子模拟输出.gro文件
      • ¥15 港诡实录的背包系统拆解
      • ¥15 宽带IP网络路由器的初始路由表和最终路由表