新手上路_04
#include <stdio.h>
char *find_char(char const *source , char const *chars);
void main(){
char source[128],chars[128];
char *s=source,*c=chars;
printf("input source:");
scanf("%s",s);
printf("input chars:");
scanf("%s",c);
s=&source;
c=&chars;
printf("res is : %s\n",find_char(s,c));
}
char *find_char(char const *source , char const *chars){
char *res=NULL;
char *tmp;
while(*chars++!='\0'){
tmp=source;
while(*tmp++!='\0'){
if(*(tmp-1)==*(chars-1)){
res=chars-1;
goto ret;
}
}
}
ret:return res;
}
虽然可以正常运行,但是在VC6.0中编译给出了四个warning:
warning C4047: '=' : 'char *' differs in levels of indirection from 'char (*)[128]' → (s=&source;)
warning C4047: '=' : 'char *' differs in levels of indirection from 'char (*)[128]' → (c=&chars;)
warning C4090: '=' : different 'const' qualifiers → (tmp=source;)
warning C4090: '=' : different 'const' qualifiers → (res=chars-1;)
这四个warning是什么意思?
另外,关于得到标准输入的字符串并将其存到一个char*中,有没有什么简洁点的办法??我写的那个自己看着都有点不爽啊~~T_T