
{
float
score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}}
float
*search(float(*pointf[4]))
/*改为float
*search(float(*pointf)[4])不然为指针数组*/
float
*p
int
i,j
for(i=0i<3i++)
{
p=search(score+i)
if(p==*(score+i))
{
printf("nember:
%d
",i)
for(j=0j<4j++)
printf("%5.2f
",*(p+j))
printf("\n")}
}
}
float
*search(float(*pointf)[4])
{
int
i
float
*pt
pt=*(pointf+1)
for(i=0i<4i++)
if(*(*pointf+i)<60)
pt=*pointf
return(pt)
}
以上修改后可以运行,输出结果为:
number
:
1
56.00
89.00
67.00
88.00
number:
2
34.00
78.00
90.00
66.00
输出结果正确
至于您所说的
2.if(*(*pointf+i)<60)
,里面的*(*pointf+i)代表的是什么意思
pointf为指向含有4个元素的一维数组的指针变量,*pointf就是某行的首列地址,*pointf+i为某行第i列的元素地址,则*(*pointf+i)就是某行第i列的元素值,判断其是否小于60.
3.*(pointf+1)
是指向数组pointf
中第一行的数吗?
如果是
照题目成立的话就是point
+2也就是第二行数据
对吗?
答:应该不是吧,pointf是子函数中的一个指向一维数组的指针变量,不是数组,它接收主函数中传递过来的实参,如果实参是score+0则子函数中*(pointf+1)指向score数组的第一行首元素,为列指针,其值为&score[1][0],pointf+1指向score数组第一行,是行指针,而当实参是score+1时,则*(pointf+1)指向score数组的第二行首元素,pointf+1就指向score数组第二行
所以说具体它指向第几行的首元素,要看实参传递过来的值为什么地址了。
希望能够帮到您。
#include "stdio.h"int main(int argc,char *argv[]){
char ch
int uc,lc,di,oh
uc=lc=di=oh=0
printf("Please enter a string('q'/'Q' end)...\n")
while(scanf(" %c",&ch)==1){
if(ch>='A' && ch<='Z')
uc++
else if(ch>='a' && ch<='z')
lc++
else if(ch>='0' && ch<='9')
di++
else
oh++
if(ch=='q' || ch=='Q')
break
}
printf("Uppercase:\t%d\nLowercase:\t%d\n Numbers:\t%d\n Other:\t%d\n",uc,lc,di,oh)
return 0
}
运行样例:
using namespace Gdiplus2 初始化GDI+资源和销毁GDI+资源在项目APP文件中//声明GDI+全局变量ULONG_PTR gdiplusTokenBOOL CMFCAndGDIApp::InitInstance(){// 如果一个运行在 Windows XP 上的应用程序清单指定要// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControls()。否则,将无法创建窗口。
InitCommonControls()
//GDI+资源初始化
GdiplusStartupInput gdiplusStartupInput
GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL) CWinApp::InitInstance() // 初始化 OLE 库
if (!AfxOleInit()){AfxMessageBox(IDP_OLE_INIT_FAILED)
return FALSE
}//其他系统自动生成的代码}//添加一个析构函数用来释放GDI+资源CMFCAndGDIApp::~CMFCAndGDIApp(){GdiplusShutdown(gdiplusToken)
}3编译时加入GDIplus.lib文件在IDE中选择“项目|添加现有项目”,把GDIplus.lib文件添加进来,该文件一般在C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib目录下4好了,现在可以在MFC中使用GDI+了void CMFCAndGDIView::OnDraw(CDC* /*pDC*/){CMFCAndGDIDoc* pDoc = GetDocument()
ASSERT_VALID(pDoc)if (!pDoc)return //using GDI+
Graphics myg(this->GetDC()->m_hDC)
Pen pen(Color(255,0,255))
SolidBrush brush(Color(255,0,255))
CRect rect
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)