字符串和随机数

C语言没有字符串类型,要用字符数组来模拟。char类型产生不了字符串,它本身只有一个字节,一个字符就是一个字节,哪来的字符串呢。

char a[5];可以最多四个字符,最后一位\0或者0结束

字符串一定是字符数组,字符数组不一定是字符串
因为字符串要以0结束或者\0。

字符串数组的初始化

  • 错误初始化:
char a[]={'a','b','c'};

看输出:

./a.out 
a = abcIÿ  #产生了乱码,这是因为没有找到结束符。
  • 正确初始化:
char a[]={'a','b','c',0};

输出:

./a.out 
a = abc
char a[]="ssssswwwww";#双引号认为是字符串会自动补0,这个是最常用的初始化。

输出:

./a.out 
a = ssssswwwww

注意点:
1.

char a[]={'a','b',0,'c','d'};

输出:

./a.out 
a = ab  #中间的0被当作结束符,不再执行后面。

\0后面接数字,有可能组成转义字符:

char a[]="\012aaaa";

输出:

./a.out 
a = 
aaaa

012是\n的ascii码。

随机数的产生

#include <stdio.h>
   
   int main(void)
   {
       srand( (unsigned int)time (NULL) );
   
       int i = 0;
       int num;
       for (i = 0; i<10; i++)
      {
          num = rand();
          printf("num = %d\n",num);
      }
  }

time(NULL)功能获取系统当前时间,由于时间会变,srand()也会改变。

扫描二维码关注公众号,回复: 8968046 查看本文章
发布了108 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37369726/article/details/103111643