c语言乱码函数 c语言乱码是什么原因

c语言,函数返回值是乱码,急!!!

乱码是因为你输出的是主函数里的 result 而这个没有初始化

创新互联公司主营临武网站建设的网络公司,主营网站建设方案,app软件定制开发,临武h5重庆小程序开发搭建,临武网站营销推广欢迎临武等地区企业咨询

所以是乱码

1 主程序少了两个 }

2 if(choice==1)

{

result = salary(); //虽然函数返回了 但是并没有把值赋给任何变量,改为这样 printf("%lf", result);

}

#includestdio.h

double salary();/*计算工资税的函数*/

void main()

{

int choice;

char want0;

double result;

while(1)

{

printf("欢迎使用个人所得税计算器\n");

printf("\n");

printf("1.工资、薪金所得税计算\n");

printf("\n");

printf("请输入需要计算的税收项目序号:");

scanf("%d", choice);

if(choice==1)

{

result = salary();

printf("个人所得税为:%lf。\n", result);

}

}

}

double salary()

{

double sal, result;

printf("请输入您的薪水:");

scanf("%lf", sal);

if(sal=3000)

{

result=sal;

}

if(sal3000sal=4500)

{

result=sal*0.05;

}

if(sal4500sal=7500)

{

result=sal*0.1-75;

}

if(sal7500sal=12000)

{

result=sal*0.2-525;

}

if(sal12000sal=38000)

{

result=sal*0.25-975;

}

if(sal38000sal=58000)

{

result=sal*0.3-2725;

}

if(sal58000sal=83000)

{

result=sal*0.35-5475;

}

if(sal83000)

{

result=sal*0.45-13475;

}

return result;

}

C语言与C++ 指针函数调用 乱码 求以下程序结果和详细解释 ,求总结

程序一: 还是输出1234,因为指针p没有改变,函数调用tstfn(p)内对p的改变,不能应该原值,如果要改变指针p的值,必须传入指针的指针tstfn(p)。

程序二:输出4321,函数调用tstfn(p),传入指针p,在函数内对p指针所指向内容进行修改,原值也改变了。

程序三:函数中的临时数组a,a当函数返回时,a所指向的内容已经销毁,a成为野指针,一个随机值,非法返回a的值,对其使用,造成引用的非法内存。

程序四:同程序三,p也是一个临时变量,程序结束也被销毁了,非法引用,也会造成非法引用内存。

程序五:内存报错,对字符串的赋值不正确,因为str是指向一个字符串常量,*str = ‘a’试图更改一个字符串常量,所以出错了。

程序六:

正确

c语言输出乱码,求解决方法

输出乱码的原因见下图标红的地方:

第一个标红处的for循环语句后面多了分号; 导致下面{}中的语句与for无关

而printf()语句中的i此时等于N,又stu[N]上没有数据,所以会输出乱码;

同理后面输出最高成绩学生时,i的值也为N,因此最后打印stu[i]时也会输出乱码;

我觉得你的本意应该是输出stu[no],所以要将最后printf中的stu[i]都改为stu[no]

但上面用no记录成绩最高学生下标的语句no=i; 应该写在if内,即要如下修改:

if (maxstu[i].ave) {

max=stu[i].ave;

no=i;

}

还要注意max的类型应该为float,no应该赋初值0,因此前面要改为:

float max;

max=stu[0].ave;

no=0;

最后,建议将struct student结构体的定义放在main()函数之外

如果帮到你,给个采纳哈~

c语言,函数返回值是乱码,急!!!

/*

*

main.c

*

*

Created

on:

2011-6-11

*

Author:

ice

*/

#includestdio.h

double

salary();/*计算工资税的函数*/

int

main(void)

{

int

choice;

//

char

want0;////这个want0变量没有使用

double

result;

while(1)

{

printf("欢迎使用个人所得税计算器\n");

printf("\n");

printf("1.工资、薪金所得税计算\n");

printf("\n");

printf("请输入需要计算的税收项目序号:");

scanf("%d",

choice);

if(choice==1)

{

result

=

salary();//要有一个值接受返回值才可以啊

printf("%lf",

result);

}

}

}

double

salary()

{

double

sal,

result;

printf("请输入您的薪水:");

scanf("%lf",

sal);

if(sal=3000)

{

result=sal;

}

if(sal3000sal=4500)

{

result=sal*0.05;

}

if(sal4500sal=7500)

{

result=sal*0.1-75;

}

if(sal7500sal=12000)

{

result=sal*0.2-525;

}

if(sal12000sal=38000)

{

result=sal*0.25-975;

}

if(sal38000sal=58000)

{

result=sal*0.3-2725;

}

if(sal58000sal=83000)

{

result=sal*0.35-5475;

}

if(sal83000)

{

result=sal*0.45-13475;

}

return

result;

}

为什么C语言我用fread读入数据会乱码,函数如下

应该是超出数组长度的问题,现在也没有电脑不方便调试代码,你可以自己先检查一下,读取的内容放到了哪里,输出的时候输出的是什么

可以一步一步打印,如果有问题再继续问

C语言fputc函数总出现乱码

你计算数列的各项的时候有问题,'1' 的ASCII码是49,所以两个相加就是 98,而这已经是字符 b 的ASCII码了,所以修改如下

#include stdio.h

#include stdlib.h

#define n 10

int main(void)

{

FILE *fp;

int i;

int a1=1,a2=1,a3;

if((fp=fopen("testdata.txt","w"))==NULL)

{ printf("Open fail.\n"); exit(1); }

fprintf(fp,"%d ",a1); fprintf(fp,"%d ",a2);

for(i=3;i=n;i++)

{

a3=a1+a2;

fprintf(fp,"%d ",a3);

a1=a2; a2=a3;

}

fclose(fp);

system("pause");

return 0;

}


本文名称:c语言乱码函数 c语言乱码是什么原因
链接分享:http://myzitong.com/article/dodgdjs.html