应该是因为s没有初始化为0,然后s累加的值不对;
根据你的思路,把s初始化为0,因为是相加其他的值;然后循环里s+=1改为s+=i即可,因为是累加从1到n之间的所有值, 测试代码如下(如果是题目的格式,给main函数加上参数m,n,s,然后把main函数里对m,s,n的定义注释即可):
#include <stdio.h>
int main(void){
int m=19,n,s=0;
for(int i=1;i<=m;i++){
s+=i;
if(s>=m){
n=i;
break;
}
}
printf("m=%d,n=%d,s=%d",m,n,s);
return 0;
}