我正在研究一个问题,即将字符串中每个句子的第一个字符大写。例如,如果字符串参数是“你好。我的名字是乔。你叫什么名字?”程序将返回'你好。我的名字是乔。你的名字是什么?“我的问题是,为什么在输入我要大写的字符串并按下后,程序进入换行符,屏幕上没有输出任何内容。
这是我的代码:
;with cte as
(
select rn=row_number() over
(
partition by table_b_id
order by [Value] desc
),*
from tableA
)
select t1.table_b_id as [B.ID],
t2.Name as [B.Name],
t1.ID as [A.ID]
from cte t1
join tableB t2
on t1.table_b_id=t2.ID
where t1.rn=1;
答案 0 :(得分:3)
你的错误在于
cout<<argument[i]<<endl;
您已将i
更新为可能靠近'\0'
的位置,然后尝试将其打印出来。
退出循环后,仅打印argument
。或者,如果您想在单独的行中打印每个句子,请记住要打印到i
的索引。
return 0
内部的while
内容也显示不正确。我认为你打算在while
阻止后放置它。
此外,从this comment of Paolo M开始,在while
和if
之后使用分号是您不想要的。