scanf的特殊用法
int main()
{
@autoreleasepool {
char ch[100];
NSLog(@"请输入一个字符串");
scanf("%s",ch);
printf("%s\n",ch);
char ch1;
NSLog(@"请输入一个字符—");
scanf("%*[^\n]");
scanf("%*c");
scanf("%c",&ch1);
printf("%c\n",ch1);
char str[5];
NSLog(@"请输入一个字符串");
scanf("%4s",str);
printf("%s\n",str);
}
return 0;
}
const用法
int main()
{
@autoreleasepool {
const int a=10 ;
int *p=&a;
*p=20;
printf("%d,%d\n",a,*p);
int b=30;
const int *p2=&b;
int c=50;
p2=&c;
NSLog(@"%d",*p2);
int* const p3=&b;
*p3=60;
const int *const p4;
}
return 0;
}
数值型数-字符串转换
int main()
{
@autoreleasepool {
//数值型数据转换成字符串
int i=0;
char buffer[100];
sprintf(buffer, "%d",i);
printf("%s\n",buffer);
double d=3.1415926;
unsigned long int ul=9876543210;
sprintf(buffer, "%.7lf",d);
printf("%s\n",buffer);
sprintf(buffer,"%lu",ul);
printf("%s\n",buffer);
//字符串向数值类型数据的转换
char *data ="54321";
sscanf(data,"%d", &i);
NSLog(@"%d",i);
data="2.6845318";
sscanf(data,"%lg",&d);
NSLog(@"%.8lg",d);
}
return 0;
}
可变长参数
void printArg(int num,...){
va_list vap;
va_start(vap, num);
for(int i=0;i<num;i++){
int arg=va_arg(vap, int);
printf("%d ",arg);
}
printf("\n");
va_end(vap);
}
//写一个可变长参数,求所有可变长参数的和
void printSum(int num,...){
va_list vap;
va_start(vap, num);
int sum=0;
for(int i=0;i<num;i++){
sum+=va_arg(vap, int);
}
NSLog(@"%d\n",sum);
va_end(vap);
}
int main()
{
@autoreleasepool {
NSLog(@"Hello world");
NSLog(@"%d",10);
printArg(3,10,20,30);
printArg(6,1,2,3,4,5,6);
printSum(6,10,10,10,10,10,10);
}
}