C语言指针传递问题
程序代码:
#include<stdio.h> int length(char *p); int length(char *p){ int n=0; while(*p!='\0'){ n++; p++; } return n; } int main(){ int len; char str[100]; printf("input:\n"); gets(str); len=length(str); printf("%d",len); return 0; }
gets(s)函数,如果定义s为字符串指针,即char *s[100] 传递时这样写gets(s)就是错误的。必须写成gets(*s);请问这是为什么?