Wprowadź dwie liczby całkowite, A i B, i wyjdź A i B w kolejności najpierw największy, a następnie najmniejszy. Kod jest następujący: Jak odwołać się do zmiennego adresu i wziąć operator adresowy *Operator wskaźnika (lub operator dostępu pośredniego) #include "stdafx.h" #include <stdio.h> int main(int argc, char* argv[])
{ int *p1,*p2,*p,a,b; printf("proszę wpisać dwie liczby całkowite:"); scanf("%d,%d",&a,&b); p1=&a; p2=&b; if(a<b) {p1=&b;p2=&a;}//Akcent wskaźnika {p=p1; p1=p2; p2=p; Teraz bezpośrednio przypisuje się nowe wartości do P1 i P2, więc nie ma potrzeby definiowania zmiennej pośredniej p, a program może stać się bardziej zwięzły Ten algorytm nie zamienia wartości zmiennych całkowitoliczbowych, lecz wartości dwóch wskaźników (adresów a i b)
PrintF("A=%D,B=%D\N",A,B); PrintF("max=%d,min=%d\n",*p1,*p2); return 0;
}
|