萌新求助,如何将指针指向的字符串移植到指针上呢?
问题是这样的,一道题目它定义了两个指针数组,希望能找到其中一个子字符串的下标,看到下标两个字我就奇怪了,这不是只能用到常规数组吗?用a[i]的形式找到i,但是仅知道指针首地址怎么移植到常规数组a[i]上呢?我很困惑。
#include <stdio.h> #include <string.h> size_t findsubstring( const char* s, const char* sub ) { size_t index = 0; for( ; s[index]!=0; ++index ) { size_t i = 0; for( ; sub[i]==s[index+i] && sub[i]; ++i ); if( !sub[i] ) break; } return index; } int main( void ) { char line[80]; if( fgets(line,sizeof(line)/sizeof(*line),stdin) && line[strlen(line)-1]=='\n' ) line[strlen(line)-1] = '\0'; else return 1; char substr[10]; if( fgets(substr,sizeof(substr)/sizeof(*substr),stdin) && substr[strlen(substr)-1]=='\n' ) substr[strlen(substr)-1] = '\0'; else return 1; size_t index = findsubstring( line, substr ); if( line[index] != '\0' ) printf( "index = %zu\n", index ); else puts( "NOEXIST" ); }
[此贴子已经被作者于2017-12-7 13:19编辑过]