这有什么问题?运行代码时出现

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>

#define e_printf(N) fputs(N,stderr)//标准输出错误

void* Clipboard_my(char *data);

void main()
{
	puts(">>>QQ刷屏器0.0.1<<<");

	HWND x_qq;
	char *data;
	int i;

	printf("请输入窗口句柄: ");
	scanf_s("%d ", &x_qq);
	printf("请输入要发送的文字: ");
	scanf_s("%c", data);
		printf("请输入要发送的次数: ");
	scanf_s("%d ", &i);
	system("pause");


	if (Clipboard_my(data) == NULL){
		e_printf("\n\n发生错误\n调用 Clipboard_x 函数,返回值为 NULL\n\n");
		exit(1);
	}


	puts("刷屏开始\n");
	puts("--------------------------------------");
	for (int n = 0; n<i; n++){
		SendMessage(x_qq, WM_PASTE, 0, 0);//粘贴当前复制内容 
		SendMessage(x_qq, WM_KEYDOWN, VK_RETURN, 0);//摁下回车键 
	}

	puts("刷屏完毕\n");
	printf("刷了 %d 次\n", i);
	getchar();

	return;
}

void* Clipboard_my(char *data)
{
	//替换原来的剪辑板数据
	HANDLE hClip;
	char pBuf;

	if (OpenClipboard(NULL)){//打开剪辑板
		if (IsClipboardFormatAvailable(CF_TEXT)){

			EmptyClipboard();//清空剪辑板
			hClip = GlobalAlloc(GMEM_MOVEABLE, strlen(data) + 1);
			pBuf = (char *)GlobalLock(hClip);
			strcpy(pBuf, data);
			GlobalUnlock(hClip);//解锁
			SetClipboardData(CF_TEXT, pBuf);//写入新的剪辑板数据
			CloseClipboard();//关闭剪贴板
		}
		else{
			CloseClipboard();//关闭剪辑板
			return NULL;
		}
	}
	else return NULL;

	system("pause");

	return 1;
}

 

data变量你还没赋值,就使用

解决办法:给data变量一开始提供一个值

data变量还未定义就使用了,你需要先定义一下再运行