救救孩子吧

栀九1234 2021-04-28 04:58:09
...全文
617 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
luj_1768 2021-05-05
  • 打赏
  • 举报
回复
怎么理解:int *y=0; 就算是C语言太灵活而不够稳定吧?编译器确实可能把*y和*z按照野指针处理了。
源代码大师 2021-05-03
  • 打赏
  • 举报
回复
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html
真相重于对错 2021-04-29
  • 打赏
  • 举报
回复
#include <stdio.h>
#pragma warning(disable:4996)
void separate(float x, int* y, float* z);
int main()
{
	float data, z;
	int y;
	printf("从键盘输入一个实型数据:");
	scanf("%f", &data);
	separate(data, &y, &z);
	printf("%d,%f", y, z);
}
void separate(float x, int* y, float* z)
{
	*y = x;
	*z = x - *y;


}
lin5161678 2021-04-29
  • 打赏
  • 举报
回复
引用 6 楼 智者知已应修善业 的回复:

void separate(float x, int *y, float *z)
{
	*y = (int)x;
	*z = x - *y;
}

	float data, *z = (float*)malloc(1);
	int *y = (int*)malloc(1);
	printf("从键盘输入一个实型数据:");
	scanf_s("%f", &data);
	separate(data, y, z);
	printf("%d,%f", *y, *z);
误人子弟第一名 你就不能好好看看 malloc的参数是什么意思么 全部传递1哦
lin5161678 2021-04-29
  • 打赏
  • 举报
回复
引用 4 楼 智者知已应修善业 的回复:

	float data, *z = (float*)malloc(1);
	int *y = (int*)malloc(1);
错的 新朋友别学
  • 打赏
  • 举报
回复

void separate(float x, int *y, float *z)
{
	*y = (int)x;
	*z = x - *y;
}

	float data, *z = (float*)malloc(1);
	int *y = (int*)malloc(1);
	printf("从键盘输入一个实型数据:");
	scanf_s("%f", &data);
	separate(data, y, z);
	printf("%d,%f", *y, *z);
自信男孩 2021-04-28
  • 打赏
  • 举报
回复
#include <stdio.h>

void separate(float x,int *y,float *z);

//void main ()
int main (void)
{
//float data, *z;
float data, z;
//int *y;
int y;

printf ("从键盘输入一个实型数据:");
scanf ("%f",&data);
printf("%f\n", data);
separate (data, &y, &z);
//printf ("%d,%f",*y,*z);
printf ("%d,%f", y, z);
}

void separate(float x,int *y,float *z)
{
*y = (int)x;
*z = x - *y;
}

供参考~

两个指针都是野指针,需要分配空间,或者直接用普通变量吧
  • 打赏
  • 举报
回复

	float data, *z = (float*)malloc(1);
	int *y = (int*)malloc(1);
ggglivw 2021-04-28
  • 打赏
  • 举报
回复
z和y是指针没有指向数据的空间
宾灬 2021-04-28
  • 打赏
  • 举报
回复
void separate(float x,int *y,float *z);
int main() {
    float data, z;
    int y;
    printf ("从键盘输入一个实型数据:");
    scanf ("%f",&data);
    separate (data, &y, &z);
    printf ("%d,%f",y, z);
}
void separate(float x,int *y,float *z)
{

    *y = (int)x;
    *z = x - *y;

}
栀九1234 2021-04-28
  • 打赏
  • 举报
回复
引用 楼主 栀九lyp的回复:
#include <stdio.h>
void separate(float x,int *y,float *z);
void main ()
{
float data, *z;
int *y;
printf ("从键盘输入一个实型数据:");
scanf ("%f",&data);
separate (data,y,z);
printf ("%d,%f",*y,*z);
}
void separate(float x,int *y,float *z)
{

*y = (int)x;
*z = x - *y;



} 为什么我这样总是运行不出来

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧