加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

C语言多维数组

发布时间:2022-10-06 12:40:54 所属栏目:PHP教程 来源:
导读:  #include

  int puts(const char *s);

  输出字符串时只需要给出名字,不能带后边的[ ],例如,下面的两种写法都是错误的

  printf("%s\n", str[]); //错误的

  puts(str[10]); //错误的
  #include
 
  int puts(const char *s);
 
  输出字符串时只需要给出名字,不能带后边的[ ],例如,下面的两种写法都是错误的
 
  printf("%s\n", str[]); //错误的
 
  puts(str[10]); //错误的
 
  字符串的输入
 
  在C语言中,有两个函数可以让用户从键盘上输入字符串
 
  scanf():通过格式控制符%s输入字符串。除了字符串,scanf() 还能输入其他类型的数据。
 
  gets():直接输入字符串,并且只能输入字符串。
 
  但是,scanf() 和 gets() 是有区别的:
 
  scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。
 
  gets() 认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格PHP多维数组,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。
 
  #include
  #include
  int main(void)
  {
  ? ? char str1[30] = {0};
  ? ? char str2[30] = {0};
  ? ? char str3[30] = {0};
  ? ? printf("gets请输入字符串:");
  ? ? gets(str1);
  ? ? printf("scanf请输入字符串:");
  ? ? scanf("%s", str2);  //数组名字就是地址
  ? ? scanf("%s", str3);
  ? ? printf("str1:%s\n", str1);
  ? ? printf("str2:%s\n", str2);
  ? ? printf("str3:%s\n", str3);
  ? ? return 0;
  }
  输出:
 
  gets请输入字符串:C Program
 
  scanf请输入字符串:PHP JAVA C
 
  str1:C Program
 
  str2:PHP
 
  str3:JAVA
 
  注意int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址。
 
  scanf() 的用法还可以更加复杂和灵活,它不但可以完全替代 gets() 读取一整行字符串,而且比 gets() 的功能更加强大。比如,以下功能都是 gets() 不具备的:
 
  scanf() 可以控制读取字符的数目;
 
  scanf() 可以只读取指定的字符;
 
  scanf() 可以不读取某些字符;
 
  scanf() 可以把读取到的字符丢弃。
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!