A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 417284911 中级黑马   /  2015-3-17 18:15  /  1209 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在看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版本问题吗?

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

7 个回复

倒序浏览
没看明白...for(int i=0;i<5;i++){}不在哪加的..
回复 使用道具 举报
ab63333334 发表于 2015-3-17 18:27
没看明白...for(int i=0;i

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

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

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

回复 使用道具 举报 1 0
1.%zd就是输出整型2.定义变量最好放在开始位置,放在printf之上
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马