网络编译器:
http://www.compileonline.com/compile_cpp_online.php
learn c the hard way:
#include<stdio.h>
int main(int argc , char *argv[])
{
puts("Hello , World");
printf("%d\n" , argc);
puts(argv[0]);
puts(argv[1]);
puts(argv[2]);
return 0;
}
输入如下:
$ demo "dfadfasdf" "tamdmmfdasdf"
Hello , World
3
demo
dfadfasdf
tamdmmfdasdf
#include<stdio.h>
int main(int argc ,char *argv[])
{
int bugs =100;
double bug_rate = 1.2;
printf("%d , %f\n" , bugs , bug_rate);
long uni_of_de = 1L*1024L*1024L*1024;
printf("%ld bugs.\n" , uni_of_de);
char nul_byte = '\0';
int char_percentage = bugs*nul_byte;
printf("%d%%.\n" , char_percentage);
return 0;
}
字节码:
#include<stdio.h>
int main(int argc[] , char *argv[])
{
int areas[] = {10,12 ,13,14,20};
char name[]="wayne";
char full_name[] ={
'z','e','d',' ','A','.',' ','s','\0'
};
printf("the size of an int:%ld\n",sizeof(int));
printf("the size of areas (int[]) :%ld\n",sizeof(areas));
printf("the length of areas is %d\n" , sizeof(areas)/sizeof(int));
printf("the element of first is %d,and the second area is %d \n" , areas[0] ,areas[1]);
printf("the size of char is %d\n" , sizeof(char));
printf("the length of full_name is %d \n",sizeof(full_name)/sizeof(char));
return 0;
}
#include<stdio.h>
int main(int argc , char *argv[])
{
int number[4]={0};
char name[4]={'a'};
printf ("numbers:%d , %d, %d ,%d\n" ,number[0],number[1],number[2],number[3]);
printf("name each:%c , %c ,%c ,%c \n", number[0] ,number[1],number[2],number[3]);
char *first_name = "wayne";
printf("the name is :%s\n" , first_name);
printf("each name of char is:");
int len_of_name = (sizeof(first_name)/sizeof(char));
printf("%d\n",len_of_name);
for(int i=0;i!=len_of_name;i++)
{
printf("%c",first_name[i]);
}
printf("\n");
return 0;
}
但是不知道为什么输出是:
$ demo
numbers:0 , 0, 0 ,0
name each: , , ,
the name is :wayne
each name of char is:8
wayneth
不清出为输出th
求字符串数组的方法:
#include <stdio.h>
int main(int argc, char *argv[])
{
char *another = "Zed";
int len_another=0;
char *p = another;
while(*p != '\0')
{
++p;
++len_another;
}
printf("the length of another is %d\n" , len_another);
char one_another[] ="Zed";
int len_one_another = (sizeof(one_another)/sizeof(char));
printf("%d\n" , len_one_another);
return 0;
}
*another 和one_another[]是有区别的。一个是指针类型,一个是表示数组。这两个很容易高混淆。
#include<stdio.h>
int main(int argc, char *argv[])
{
int i=0;
for(i=0;i<argc;++i)
{
printf("arg %d:%s\n",i,argv[i]);
}
char *states[] ={
"california","Oregon",
"Washington","Texas","wei"
};
int len_states = sizeof(states);
int len_sta = sizeof(*states);
printf("%d \n" , len_states);
printf("%d \n" , len_sta);
return 0;
}
输出命令行字符:
#include<stdio.h>
int main(int argc , char *argv[])
{
if(argc ==1)
{
printf("only have one argument\n");
}
if(argc>1 && argc<4)
{
printf("yes you argument is right\n");
for(int i=0 ;i<argc;++i)
{
printf("ttt %s\n",argv[i]);
}
}
return 0;
}
c语言中内存管理的一个例子。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char* upcase(char *inputstring);
int main(void){
char *str1;
str1 = upcase("hello");
printf("str1=%s \n",str1);
free(str1);
return 0;
}
char* upcase(char *inputstring)
{
char *newstring;
int i;
int len_input = strlen(inputstring);
newstring = malloc(sizeof(char)*len_input);
for(i = 0; i<len_input;++i)
{
newstring[i] = inputstring[i]-32;
}
return newstring;
}