user-0 提问: 求代码

回复:
user: user-1
content: pick_num函数第二参数要 int * n 啊，   传递 count变量的指针才能把结果带回来， 作为返回参数使用  如果函数的形参和实参的作用还没有理解， 还是先去多研究一下用一个函数交换两个变量内容的基础问题吧

user: user-0
content: 引用 6 楼 薄情⁽ⁿᵔᵕᵔⁿ⁾的回复:[quote=引用 5 楼 寻开心的回复:]c++ 到 c，简单改造一下就可以了  c里面没有c++的bool类型， pick_num函数，只要把bool替换成int，用0代替flase，1代替true 主函数改造一下输入和输出就可以了  #include <stdio.h> #include <string.h>  void pick_num(const char* str, int* n, unsigned int* outArray) { int count = 0;// 找到的数量 unsigned int value = 0,  i=0; int  bFind = 0; // 当前是否在处理数字 for (i = 0; i < strlen(str); i++) { if (str[i] >= '0' && str[i] <= '9') { if (bFind) value *= 10; value += str[i] - '0'; bFind = 1; } else if (bFind){ // 遇到非字符，输出数字 bFind = 0; outArray[count] = value; count  ++; value = 0; } } if (bFind) { outArray[count++] = value;  // 字符串以数字结束的 } *n = count; }   int main() {     printf("Please input a string:");     char s[200];     gets(s);     int count;     unsigned int outArray[100];     pick_num(s, &count, outArray);     printf("total num:%d\n" , count);     for (int i = 0; i < count; i++)         printf("%d ", outArray[i]);     return 0; } 里面那个取地址符号有什么用呢？[/quote] &count这个，，，，，，，

user: user-0
content: 引用 5 楼 寻开心的回复:c++ 到 c，简单改造一下就可以了  c里面没有c++的bool类型， pick_num函数，只要把bool替换成int，用0代替flase，1代替true 主函数改造一下输入和输出就可以了  #include <stdio.h> #include <string.h>  void pick_num(const char* str, int* n, unsigned int* outArray) { int count = 0;// 找到的数量 unsigned int value = 0,  i=0; int  bFind = 0; // 当前是否在处理数字 for (i = 0; i < strlen(str); i++) { if (str[i] >= '0' && str[i] <= '9') { if (bFind) value *= 10; value += str[i] - '0'; bFind = 1; } else if (bFind){ // 遇到非字符，输出数字 bFind = 0; outArray[count] = value; count  ++; value = 0; } } if (bFind) { outArray[count++] = value;  // 字符串以数字结束的 } *n = count; }   int main() {     printf("Please input a string:");     char s[200];     gets(s);     int count;     unsigned int outArray[100];     pick_num(s, &count, outArray);     printf("total num:%d\n" , count);     for (int i = 0; i < count; i++)         printf("%d ", outArray[i]);     return 0; } 里面那个取地址符号有什么用呢？

user: user-1
content: c++ 到 c，简单改造一下就可以了  c里面没有c++的bool类型， pick_num函数，只要把bool替换成int，用0代替flase，1代替true 主函数改造一下输入和输出就可以了  #include <stdio.h> #include <string.h>  void pick_num(const char* str, int* n, unsigned int* outArray) { int count = 0;// 找到的数量 unsigned int value = 0,  i=0; int  bFind = 0; // 当前是否在处理数字 for (i = 0; i < strlen(str); i++) { if (str[i] >= '0' && str[i] <= '9') { if (bFind) value *= 10; value += str[i] - '0'; bFind = 1; } else if (bFind){ // 遇到非字符，输出数字 bFind = 0; outArray[count] = value; count  ++; value = 0; } } if (bFind) { outArray[count++] = value;  // 字符串以数字结束的 } *n = count; }   int main() {     printf("Please input a string:");     char s[200];     gets(s);     int count;     unsigned int outArray[100];     pick_num(s, &count, outArray);     printf("total num:%d\n" , count);     for (int i = 0; i < count; i++)         printf("%d ", outArray[i]);     return 0; }

user: user-2
content: 引用 3 楼 黄哥Python培训 的回复:大概是这样的，太晚了，请自己参考着去修改吧 没有仔细检查。     上面的代码，应该修改为

user: user-1
content: #include <iostream> #include <string> using namespace std;  void pick_num(const char* str, int* n, unsigned int* outArray) { 	int count = 0;// 找到的数量 	unsigned int value = 0,  i=0; 	bool bFind = false; // 当前是否在处理数字 	for (i = 0; i < strlen(str); i++) { 		if (str[i] >= '0' && str[i] <= '9') { 			if (bFind) 				value *= 10; 			value += str[i] - '0'; 			bFind = true; 		} else if (bFind){ // 遇到非字符，输出数字 			bFind = false; 			outArray[count] = value; 			count  ++; 			value = 0; 		} 	} 	if (bFind) { 		outArray[count++] = value;  // 字符串以数字结束的 	} 	*n = count; }   int main() {     std::cout << "Please input a string:"; 	string s; 	getline(cin, s); 	int count; 	unsigned int outArray[100]; 	pick_num(s.c_str(), &count, outArray); 	cout << "total num:" << count << endl; 	for (int i = 0; i < count; i++)  		cout << outArray[i] << " "; 	return 0; }

user: user-2
content: 大概是这样的，太晚了，请自己参考着去修改吧 没有仔细检查。

user: user-0
content: 大佬可以是c语言吗？没学过c++