You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C与R语言中实现单行空格分隔输入多数值无需按回车

问题解答

C语言部分

你提供的C语言参考代码已经可以实现需求:
scanf("%d%d")会自动跳过输入中的空格、换行、制表符等空白字符,输入5 6后按回车即可正确给a、b两个变量赋值,不需要额外调整。

R语言部分

原代码调用了两次readline(),会触发两次输入提示,不符合单行空格分隔输入的要求,调整思路如下:

  • 仅调用一次readline()读取完整的一行输入内容
  • 将读取到的字符串按空格拆分后转为数值类型,即可分别拿到两个输入值

调整后的完整代码:

sum_of_total_number <- function (first,second){
  first <-  as.numeric(first)
  second <-  as.numeric(second)
  return (first + second )
}

main <- function(){
  # 读取整行输入
  input_line <- readline("Input a and b in digits: 'use space' ")
  # 按任意数量空格拆分字符串,转成数值数组
  num_list <- as.numeric(unlist(strsplit(input_line, "\\s+")))
  # 调用求和函数输出结果
  print(sum_of_total_number(num_list[1], num_list[2]))
}

main()

补充说明

  • 代码中的\\s+匹配任意个数的空格,可兼容输入时不小心输入多个空格的场景
  • 如果需要支持输入更多数值,直接取num_list对应下标的值即可

内容的提问来源于stack exchange,提问作者Sazib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:24:03