Ký tự thừa trong chuỗi

em dùng hàm tính tổng 2 số thao tác trong chuỗi, lúc in ra kết quả thì lại xuất hiện 1 ký tự thừa, không biết lỗi ký tự ở đâu và làm sao để khắc phục ạ, em cảm ơn,

#include<stdio.h>
#include<string.h>
#include<ctype.h>
void tinhtong(char s1[], char s2[], char s[]){
	strrev(s1); strrev(s2); int t,nho=0;
	for(int i=0;i<strlen(s1);i++){
		t=s1[i]-'0'+s2[i]-'0'+nho;
		s[i]=t%10+'0'; nho=t/10;
	} s[strlen(s1)]=1; strrev(s); puts(s);	
}
int main(){
	char s1[20],s2[20],s[20];
	gets(s1); gets(s2); tinhtong(s1,s2,s);
        return 0;
}

image

s[strlen(s1)]=1;

Số 1 ở đây là cái gì hả bạn? Chưa kể nếu tính tổng xong nhưng ko có số dư thì bạn vẫn làm thế này sao?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?