求输入字符串的长度,这样写为什么会抛出异常?
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int Length(char *p);
int main(int argc, char* argv[])
{
int len ;
char *a,str[20];
printf("Input string:");
scanf("%s",str);
a=&str[0];
len=Length(a);
printf("The length of string is %d.",len);
cin.ignore(100,'\n');
cin.get();
return len;
}
int Length(char *p)
{int n=0;
while((*p!='\0')&&(n<20))
{n++;
p++;
}
return n;
}