黑马程序员技术交流社区

标题: 初学者的一些疑问 [打印本页]

作者: 417284911    时间: 2015-3-17 18:15
标题: 初学者的一些疑问
在看ios基础视频的时候遇到一些问题,大神帮忙解决一下(很基础的)

    1. C中,无符号整型变量输出的时候不是用:%c吗?  但是老师在讲的过程中说是用%zd。。我没见过%zd,有人见过吗?这是干什么用的?

    2. 下面代码(简单写下):
      #include <stdio.h>

      int main()
    {
        printf("啊哈哈");
       int number=1;
       printf("%d",number);
      return 0;
   }
在这段代码中,先调用了一个printf函数,后定义变量number,编译器会报错,不符合逻辑。在for(int i=0;i<5;i++){}定义也是不行的。但老师用着为什么就没事呢,是xcode版本问题吗?

问题跟帖中,希望成为此贴成为疑难解答区

作者: ab63333334    时间: 2015-3-17 18:27
没看明白...for(int i=0;i<5;i++){}不在哪加的..
作者: 417284911    时间: 2015-3-17 18:30
ab63333334 发表于 2015-3-17 18:27
没看明白...for(int i=0;i

只写了个大概,就是说在for里面直接 int i,定义变量,编译器是过不去的,不知道啥情况
作者: 寂静夜凄凉    时间: 2015-3-17 18:57
  printf("啊哈哈");  首先这个代码是直接输出不是调用。。
你可先在外面先定义int i试试,有可能是版本或者软件问题。。
作者: Plus.    时间: 2015-3-17 19:36
417284911 发表于 2015-3-17 18:30
只写了个大概,就是说在for里面直接 int i,定义变量,编译器是过不去的,不知道啥情况 ...

学C的时候遇到过要在for循环外定义变量的用法
例如:
int i = 0;
for(;i<5;i++)
{}
作者: hellooc    时间: 2015-3-17 21:22
C语言变量定义要放在最前面,OC是不是我不清楚,没用过,但C++是允许在中间定义变量的
作者: waterfoxjie    时间: 2015-3-17 22:41
本帖最后由 waterfoxjie 于 2015-3-17 22:45 编辑

1、首先整型变量输出使用%d,%c是char类型的(也就是字符的),%zd是用于输出“unsigned”类型的,其实这个我个人认为知道就好了
2、本身那样写是没错的,for循环里面经常是在那样定义变量的,应该是Xcode版本的问题吧,或者是你其他代码编译有问题。检查一下输入法那些,会不会是你敲代码的时候分号那些的输入法写错了,而且编译错误的话会有提示的,你看看具体是什么问题,这个写法是没错的


作者: yuang4074    时间: 2015-3-20 13:31
1.%zd就是输出整型2.定义变量最好放在开始位置,放在printf之上




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2