在scanf中不要用\n.
在北海街道等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、做网站 网站设计制作按需求定制开发,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,外贸网站制作,北海街道网站建设费用合理。
如果要忽略一个字符.
可以
getchar();
scanf("%c", C);另外
要传给主函数,
需要指针,
或者用
返回值
.
即
void info (char *C)
{
getchar();
scanf("%c", C);
}调用的时候
info (A);
info (B);
编程时有时需要随机输入一些数,这是调用随机函数可以完成此相命令.
# include “stdio.h”
# include “stdlib.h”
# include “time.h” /*需引用的头文件*/
srand((unsigned)time(NULL)); /*随机种子*/
n=rand()%(Y-X+1)+X; /*n为X~Y之间的随机数*/
int rand(void)
函数int rand( void );返回的是一个界于0~32767(0x7FFF)之间的伪随机数,包括0和32767。
C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。
void srand( unsigned int seed )
改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。
基于毫秒级随机数产生方法:
#includewindows.h
种子设为:srand(unsigned int seed); /*这个作用是在让每次产生随机数不会是以样的*/
srand(GetTickCount());
这样可以
srand((unsigned)time(NULL)); /*随机种子*/
n=rand()%(2)+1; /*n为X~Y之间的随机数*/
char a[10][10];
int n,i;
scanf("%d",n);
gets(a[0]);//这儿加这个语句,可以清缓冲区
//如果下面要输入的是getch()函数
//则这个语句换成getch();
for(i=0;in;i++)
gets(a[i]);
是否会自动赋值为0,取决于变量的类型。
1、全局变量,包括静态全局变量,和非静态全局变量,在没有初始化值时,其值自动为0.
即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0。
2、静态局部变量。
当定义在函数内的局部变量,有static
标记时,默认初始化为0值。
3、非静态局部变量,无默认初始值,C标准规定初始化值为随机值,但具体实现由编译器决定。
auto用于说明自动变量,通常不用;volatile(易变的)表示该变量不经过赋值,其值也可能被改变(例如表示时钟的变量、表示通信端口的变量等)。
C语言32个关键字
[code]auto :声明自动变量 一般不使用
double :声明双精度变量或函数
int: 声明整型变量或函数
struct:声明结构体变量或函数
break:跳出当前循环
else :条件语句否定分支(与 if 连用)
long :声明长整型变量或函数
switch :用于开关语句
case:开关语句分支
enum :声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
char :声明字符型变量或函数
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return :子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const :声明只读变量
float:声明浮点型变量或函数
short :声明短整型变量或函数
unsigned:声明无符号类型变量或函数
continue:结束当前循环,开始下一轮循环
for:一种循环语句(可意会不可言传)
signed:生命有符号类型变量或函数
void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
default:开关语句中的“其他”分支
goto:无条件跳转语句
sizeof:计算数据类型长度
volatile:说明变量在程序执行中可被隐含地改变
do :循环语句的循环体
while :循环语句的循环条件
static :声明静态变量
if:条件语句 [/code]
1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:
int x ;
int * px=x ; //定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int *类型变量! 实际上的赋值语句是px=x ;
int * py ;
py=x ; //单独赋值,将py指向x
*py=10 ; //这里的*,是引用指针中的数据操作符,*跟随的变量必须是指针类型变量,否则会出错! *py就是x,这里相当于x=10;
2、指针变量作为函数的参数时,子函数可以通过指针引用实参地址中的数据,达到修改实参地址中的数据。如:
#include stdio.h
void func( int a, int b, int *pmax )
{
if ( ab ) *pmax=a;
else *pmax=b ;
}
void main()
{
int a=2,b=3,max=0;
func(a,b,max ); //这里将变量max的地址传递到子函数,子函数中通过该地址,可以修改max的值,达到子函数结束后,max能带回运算结果的效果。
printf("max=%d\n", max );
}