當前位置:首頁 » 編程語言 » c語言改變x位置
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言改變x位置

發布時間: 2022-03-14 08:45:30

A. 如何用c語言或java實現改變桌面圖標的坐標位置,用到什麼api求大神解答,給出具體可行的代碼一

voidC***::OnSetDeskIcon()
{
HWNDhwndParent=::FindWindow("Progman","ProgramManager");
HWNDhwndSHELLDLL_DefView=::FindWindowEx(hwndParent,NULL,"SHELLDLL_DefView",NULL);
HWNDhwndSysListView32=::FindWindowEx(hwndSHELLDLL_DefView,NULL,"SysListView32","FolderView");

intNm=ListView_GetItemCount(hwndSysListView32);

intsNm=0;
if(Nm>=10)
{
sNm=10;
}else{
sNm=Nm;
}

for(inti=0;i<sNm;i++)
{
intx=400+150*cos(i*36*3.1415926/180);
inty=400+150*sin(i*36*3.1415926/180);

::SendMessage(hwndSysListView32,LVM_SETITEMPOSITION,i,MAKELPARAM(x,y));
}
ListView_RedrawItems(hwndSysListView32,0,ListView_GetItemCount(hwndSysListView32)-1);
::UpdateWindow(hwndSysListView32);
}

桌面的圖標位置是在SysListView32里保存的, 這個程序就是用來修改的.

雖然沒看懂.....不過看起來很麻煩.........

B. c語言能修改已賦值的變數地址嗎有什麼意義

估計你概念搞混淆了,c語言中所有變數的地址都是不能修改的,變數定義後,當第一次使用系統會給它分配一塊內存,直到它消亡是不會改變的。
指針變數,每次改變的其實也是指針變數裡面存放的值。比如 int a,b,*p;
p=&a 相當於p裡面存放了a的地址,假設a所在內存單元(地址)為100,a的值為3,即p的值是a的地址(p=100),*p 是取 100這個內存單元中存放的值,所以*p就是去100這個單元中存放的值(*p=a=3)。
然後 p=&b,這個時候p裡面存放了b的地址,*p 是取 p內存單元中存放的值,所以*p就是b的值(*p=b)。但a,b,p所在的位置都沒有變。
指針存在的意義在於,我可以通過一個指針去訪問不同內存單元,這樣相當於統一了入口。

C. C語言數組元素前後位置互換

#include<stdio.h>
char array[2][3];
void func(char array[2][3],int x1,int y1,int x2,int y2){
char t;
t=array[x1][y1];
array[x1][y1]=array[x2][y2];
array[x2][y2]=t;
}

int main(){
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%c",&array[i][j]);//註:連續輸入二維數組的值,不用加回車
func(array,0,1,1,1);
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%c ",array[i][j]);
printf("\n");
}
return 0;
}

D. C語言中寫文件如何改變文件存放的位置

通過設置目標文件路徑,可以改變文件的存放位置。

1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。一般的C語言教程都有文件操作一章,可以找本教材進一步學習。
2、常式:

#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串

printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數

fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數

fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return0;
}

E. 關於c語言用函數交換數位置的程序

你的 swap 只是將a[0],a[1]復制了副本過去並交換,所以結果不影響main中的 a 數組。

需要使用指針來操作。

#include<stdio.h>
voidswap(int*x,int*y)
{
intz;
z=*x;
*x=*y;
*y=z;
}
voidmain()
{
inta[2]={1,2};
swap(a,a+1);
printf("%d%d",a[0],a[1]);
}

F. C語言;如何交換兩個數的位置

要下班了,你照著我這個程序改一下吧。
/*22_4:將兩個矩陣相加*/
#include <stdio.h>
void add(int x[][4],int y[4][4]) /*不需要返回值,a數組元素已被改變*/
{
int i,j; /*兩層循環變數*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
x[i][j]+=y[i][j];
return;
}

main()
{
int i,j; /*兩層循環變數*/
int a[4][4]=
{
{1,2,3,4},
{5,6,7,8},
{1,1,1,1},
{1,1,1,1}
};

int b[4][4]=
{
{1,2,3,4},
{5,6,7,8},
{3,3,3,3},
{3,3,3,3}
};

add(a,b); /*調用函數時如此簡單*/

/*輸出相加後的矩陣*/
printf("兩矩陣相加得:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
這個是我在跟公司師傅學C語言寫的一個

G. c語言 編程如何把坐標輸入

代碼如下:
1、用gotoxy和gets吧。例如:
gotoxy(old_x,old_y);//跳轉到指定坐標輸出信息
cprintf("User Name:");//在指定坐標處輸出User Name:
gotoxy(old_x,old_y+2);//跳轉到指定坐標輸入信息
gets(name);//輸入用戶名,name為所定義的字元數組
2、原型:extern void gotoxy(int x, int y);
用法:#include <system.h>
功能:將游標移動到指定位置說明:gotoxy(x,y)將游標移動到指定行y和列x。設置游標到文本屏幕的指定位置,其中參數x,y為文本屏幕的坐標。
gotoxy(0,0)將游標移動到屏幕左上角。

H. c語言初學,關鍵地方的x值變化。盡量詳細,答案是b

這道題重要是要了解先++,和後++的區別,以及運算符的優先順序問題。
++x,顯示x加一在參加運算,x++,是x參加完運算後在自身加一。當然變數x不論以先++,還是 後++賦值給某個參數的時候是一樣的效果。++ 運算符比>運算符級別高。了解這點這個就不怎麼難了。

I. C語言中賦值語句的位置

可以放在第一層else語句裡面啊!前一句是輸入賦值a,b,c,後面的是使用disc。只要保證使用前進行了初始化或賦值了就行了。

J. C語言中如何改變已經用printf()列印的數據的位置

如果輸出流被重定向到列印機,難道還能要求列印機把已列印的東西吃回去,再列印別的東西……

我個人是覺得如果有這種需求不如用GUI,非要用控制台的話就需要找到用控制台的API——可移植性這種東西只好不管了

#include <conio.h>
clrscr();
// 重新輸出