#include<stdio.h>
#include<string.h>
int main()
{
int m,n;
char str1[100],str2[100];
char *p=str1,*q=str2;
gets(str1);
gets(str2);
m=strlen(str1);n=strlen(str2);
printf("%d,%d",m,n);
return 0;
}
怎么输入的啊?如果是:ab回车cd回车,这样输入的话,不应该是3,3啊,是不是在ab后面输入别的东西了?如果不确定,就打印一下str1和str2中的每个字符的ascii码(如果是vs的话,加断点,看一下str1和str2 的数据就可以了),看看第3个字符到底是什么。
最后一位应该是换行符
c语言字符串 后面默认有一个\0