求助啊!!为什么这样子不能计算字符串长度
- C/C++ code
#include<stdio.h>#include<string.h>main(){ char *s,a[10]; s=a;// gets(s); int i=0; while(i<5) { scanf("%c",*s); i++; s++; } *s='\0'; printf("%d\n\n",strlen(s));}[解决办法]
照下面修改即可:
- C/C++ code
#include<stdio.h>#include<string.h>int main(){ char *s,a[10]; s = a; int i=0; while(i < 5) { // scanf("%c",*s); scanf("%c", s + i); // 第二个参数必须是地址 i++; //s++; getchar(); // 用于接收回车键 } //*s='\0'; *(s + i)='\0'; printf("%d\n\n",strlen(s)); return 0;}