这个想法是修剪字符串从偏移量值开始,直到大小和返回值以及新的字符串返回1;并且如果它超出代码范围以仅返回0。 这是我的代码:需要编写一个函数,该函数需要一个字符串整数偏移量和大小,并打印从偏移量开始并抵达偏移+大小的字符串
int subPrint(char *s, int offset,int size){
char *m;
m = (s + offset);
while(size != 0){
m = (m + 1);
if(m == '\0')
return 0;
size--;
}
s = m;
return 1;
}
void subPrintTest(){
char s[20] = "INDUSTRIAL";
subPrint(s,2,4);
printf("%s",s);
}
void main(){
subPrintTest();
getch();
}
的问题是,它的印刷原字符串s不变
我没有看到问题,*为什么*应该改变原始字符串或以任何方式进行修改?程序是否按原样工作?或者,也许你应该改变你的'subPrint'函数来实际*打印*的东西?否则,它的命名很糟糕。 –
我不需要使用subPrint打印它,但使用subPrintTest,它不需要只打印我指定的部分 –
所以你想让你的函数*得到*一个子字符串,而不是打印它?那么你需要一个目的地来复制它。 –