c语言程序😉这是给整数添加千分位分隔符的,结果...变成问号了。
#include<stdio.h>int i;int j;
void f(char a[],int n)
{
for(;n!=0;n=n/10)
{
i++;
if(i%4!=0)
a=n%10+'0';
else {
a=',';
a[++j]=n%10+'0';
i++;}
j++;
}
}
int main()
{
char a;
int t,n;
scanf("%d",&n);
f(a,n);
for(;j>=0;j--)
printf("%c",a);
return 0;
}
你用传址参数了吗??? liuzhengyuan 发表于 2020-4-29 18:00
你用传址参数了吗???
用了吧?我输入“26556”出来的结果是“?6,556”,就无论怎么第一个数都变成了“?” gsl9527 发表于 2020-4-29 18:08
用了吧?我输入“26556”出来的结果是“?6,556”,就无论怎么第一个数都变成了“?”
首先你的 a[] 是局部变量吧。。。
那么 f() 函数如何把 a[] 正确值返回给主函数呢?
我这里运行乱码 liuzhengyuan 发表于 2020-4-29 18:23
首先你的 a[] 是局部变量吧。。。
那么 f() 函数如何把 a[] 正确值返回给主函数呢?
我这里运行乱码
我用的vc++6.0没有乱码哦 本帖最后由 liuzhengyuan 于 2020-4-29 18:39 编辑
gsl9527 发表于 2020-4-29 18:31
我用的vc++6.0没有乱码哦
你可以把 ch[] 变成全局变量,我这里就没有问题了
还有:
6个你不应该再继续使用VC++ 6.0的理由!
https://fishc.com.cn/thread-121313-1-1.html
(出处: 鱼C论坛) liuzhengyuan 发表于 2020-4-29 18:35
你可以把 ch[] 变成全局变量,我这里就没有问题了
还有:
可以了谢谢 gsl9527 发表于 2020-4-29 18:50
可以了谢谢
可以了就设一个最佳答案吧{:10_257:} liuzhengyuan 发表于 2020-4-29 19:03
可以了就设一个最佳答案吧
🆗
页:
[1]