1. 程式人生 > 實用技巧 >(轉載)C++ explicit詳解

(轉載)C++ explicit詳解

`#include <stdio.h>
long long fac(int n);

int main()
{
int i,n;

  printf("Enter n: ");
 scanf("%d", &n);     
 for(i=1; i<=n; ++i) 
     printf("%d! = %lld\n", i, fac(i)); 
 
 return 0;

}
long long fac(int n)
{
static long long p = 1;

 p = p*n;
 printf("p = %lld\n", p);
 return p;

}
`

`#include<stdio.h>
int func(int , int);

int main(){
int k=4,m=1,p1,p2;

p1=func(k,m);
p2=func(k,m);
printf("%d,%d\n",p1,p2);
 
return 0;

}
int func(int a,int b){
static int m=0,i=2;

i+=m+1;
m=i+a+b;
 
return (m);

}`

`#include <stdio.h>

define N 1000

int fun(int n,int m,int bb[N]) {
int i,j,k=0,flag;

for(j=n;j<=m;j++) {
         
    for(i=2;i<j;i++)
        if(j%i==0) { 
        flag=0;
        break;
    }
    if(i>=j)
       bb[k++]=j;
}
return k;

}

int main(){
int n=0,m=0,i,k,bb[N];

scanf("%d",&n);
scanf("%d",&m);
 
for(i=0;i<m-n;i++)
    bb[i]=0;
     
k=fun(n,m,bb);
 
for(i=0;i<k;i++)
    printf("%4d",bb[i]);
     
return 0;

}`

`#include <stdio.h>
long long fun(int n);
int main() {
int n;
long long f;

while(scanf("%d", &n) != EOF) {
    f = fun(n);  
    printf("n = %d, f = %lld\n", n, f);
}

return 0;

}

long long fun (int n){
int i,sum=1 ;
for (i=1;i<=n;i++){
if (n==0) {
return 0;break;}
else sum = 2*sum ;
}
return sum-1;
}`

`#include <stdio.h>

void draw(int n, char symbol);

include <stdio.h>

int main() {
int n, symbol;

while(scanf("%d %c", &n, &symbol) != EOF) {
    draw(n, symbol);  
    
    printf("\n");
}

return 0;

}
void draw (int n, char symbol){
int line,b,c;
for (line=1;line<=n;line++) {
for(b=1;b<=n-line;b++)printf (" ");
for (c=1;c<=2*line-1;c++) printf ("%c",symbol);
printf ("\n");
}
}`