本文介绍了在函数中移动到下一个字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我接受字符串格式用户 int main() { char * str; clrscr(); printf( \ n请输入sql comm ..... \ n ); flushall(); 得到(str); // 用户已输入该字符串select * from std pch = strtok (str, ); while (pch!= NULL) { printf( %s,pch); moveNext(pch); } getch(); return 0 ; } void moveNext( char * pch) { pch = strtok(NULL, ); } 解决方案 C中的所有变量都是按值传递的,而不是通过引用传递的 - 因此对函数内部的值所做的任何更改只影响函数内部的副本,而不影响外部世界。 最简单的方法这样做是为了返回值: char * moveNext() { return strtok(NULL, ); } 然后: while (pch!= NULL) { printf( %s,PCH); pch = moveNext(); } 另一种方法是将pch的地址传递给你的函数而不是值,并改变那些点的内容to - 但返回值更简单,更明显。 I accept string form userint main(){ char * str;clrscr();printf("\n please enter sql comm.....\n");flushall();gets(str);//user has enterd that string select * from std pch = strtok(str," ");while(pch != NULL){ printf("%s",pch); moveNext(pch); }getch();return 0;}void moveNext(char * pch) { pch=strtok(NULL," "); } 解决方案 这篇关于在函数中移动到下一个字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-27 15:22