📄 node44.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//FR">
<!--Converted with LaTeX2HTML 97.1 (release) (July 13th, 1997)
by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippman, Marek Rouchal, Martin Wilck and others -->
<HTML><BLOCKQUOTE><img src="logo.gif" tppabs="http://www.linux-kheops.com/doc/ansi-c/icons.gif/logo.gif" ALIGN=right></A>
<HEAD>
<TITLE>Exercice</TITLE>
<META NAME="description" CONTENT="Exercice">
<META NAME="keywords" CONTENT="Introduction_ANSI_C">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso_8859_1">
<LINK REL="STYLESHEET" HREF="Introduction_ANSI_C.css" tppabs="http://www.linux-kheops.com/doc/ansi-c/Introduction_ANSI_C.css">
<LINK REL="next" HREF="node45.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node45.htm">
<LINK REL="previous" HREF="node43.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node43.htm">
<LINK REL="up" HREF="node35.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node35.htm">
<LINK REL="next" HREF="node45.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node45.htm">
</HEAD>
<BODY BACKGROUND="marge.gif" tppabs="http://www.linux-kheops.com/doc/ansi-c/icons.gif/marge.gif" TEXT=#000000 LINK=#FF0000 VLINK=#1809BB >
<!--Navigation Panel-->
<A NAME="tex2html1700"
HREF="node45.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node45.htm">
<IMG WIDTH="77" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next_motif.gif" tppabs="http://www.linux-kheops.com/doc/ansi-c/icons.gif/next_motif.gif"></A>
<A NAME="tex2html1696"
HREF="node35.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node35.htm">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up_motif.gif" tppabs="http://www.linux-kheops.com/doc/ansi-c/icons.gif/up_motif.gif"></A>
<A NAME="tex2html1690"
HREF="node43.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node43.htm">
<IMG WIDTH="96" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="previous_motif.gif" tppabs="http://www.linux-kheops.com/doc/ansi-c/icons.gif/previous_motif.gif"></A>
<A NAME="tex2html1698"
HREF="node1.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node1.htm">
<IMG WIDTH="96" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents_motif.gif" tppabs="http://www.linux-kheops.com/doc/ansi-c/icons.gif/contents_motif.gif"></A>
<A NAME="tex2html1699"
HREF="node174.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node174.htm">
<IMG WIDTH="59" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index_motif.gif" tppabs="http://www.linux-kheops.com/doc/ansi-c/icons.gif/index_motif.gif"></A>
<BR>
<B> Suivant:</B> <A NAME="tex2html1701"
HREF="node45.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node45.htm">Passage de param鑤res</A>
<B> D閎ut:</B> <A NAME="tex2html1697"
HREF="node35.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node35.htm">Les pointeurs</A>
<B> Pr閏閐ent:</B> <A NAME="tex2html1691"
HREF="node43.htm" tppabs="http://www.linux-kheops.com/doc/ansi-c/node43.htm">Diff閞ence de deux pointeurs</A><HR>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><font COLOR=#1809BB><A NAME="SECTION00590000000000000000">
Exercice</A>
</font></H1>
<P>
D閏larer et initialiser statiquement un tableau d'entiers <TT>t</TT> avec des
valeurs dont certaines seront nulles.
蒫rire une proc閐ure qui parcoure le tableau <TT>t</TT> et qui imprime les index
des 閘閙ents nuls du tableau, <B>sans utiliser aucune variable de type
entier</B>.
Une solution possible est donn閑 page suivante.
<P><SMALL>
<PRE>
#include <stdio.h>
#define N 10
int t[N] = {1,2,0,11,0,12,13,14,0,4};
/*****************************************************************************/
/* */
/* print1 */
/* Premiere version */
/* */
/*****************************************************************************/
void print1()
{
int *pdeb,*pfin,*p;
pdeb = &t[0]; /* rep鑢e le premier 閘閙ent de t */
pfin = &t[N-1]; /* rep鑢e le dernier 閘閙ent de t */
for (p = pdeb; p <= pfin; p++)
if (*p == 0) printf("%d ",p - pdeb);
printf("\n");
}
/*****************************************************************************/
/* */
/* print2 */
/* Une autre version */
/* */
/*****************************************************************************/
void print2()
{
int *pdeb,*pfin,*p;
pdeb = &t[0]; /* rep鑢e le premier 閘閙ent de t */
pfin = pdeb + N; /* rep鑢e l'閘閙ent (fictif) apres le dernier 閘閙ent de t */
for (p = pdeb; p < pfin; p++)
if (*p == 0) printf("%d ",p - pdeb);
printf("\n");
}
/*****************************************************************************/
/* */
/* main */
/* */
/*****************************************************************************/
int main()
{
print1();
print2();
}
</PRE>
</SMALL>
<P>
<BR><HR>
<ADDRESS>
<I></I>
<BR><I>30/9/1997</I>
</ADDRESS>
</BODY>
</BLOCKQUOTE></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -