none
新手问题 RRS feed

  • 问题

  • #include "stdafx.h"
    #include <iostream>
    using namespace std;
    1.
    int _tmain(int argc, _TCHAR* argv[])
    {
    char name;
    cout << "Enter your name." << endl;
    cin >> name;
    cout << "Your name is " << name << endl;
    system("pause");
    return 0;
    }
    假设我输入ck,就只显示c而已?
    2.
    int _tmain(int argc, _TCHAR* argv[])
    {
    int i,ttl=0;
    for(i=0;i<5;++i){
    ttl+=2;}
    cout << "Total is " << ttl << endl;
    return 0;
    }
    ++i和i++有什么分别,我用上面的代码测试,两次都是10.。有什么分别。。。
    2012年2月5日 4:11

答案

  • 1. 因为你定义的变量name的类型为char,您可以改成这样
    char name;
    -->
    string name;并#include <string>相关的头文件
    或者您定义为char类型的数组,比如char name[XXX];

    2.  i++: 先引用后增加,而++i:则是先增加后引用

    i++的工作过程是这样的:用一个临时变量temp存放i的值,然后i增加1,然后返回temp
    ++i的工作过程是这样的:i先增加1, 然后再返回i的引用
    因此++i没有创建其他临时对象,所以从理论上讲++i的速度要比i++要快。


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 ckjason 2012年2月6日 2:59
    2012年2月5日 5:07
    版主

全部回复

  • 1. 因为你定义的变量name的类型为char,您可以改成这样
    char name;
    -->
    string name;并#include <string>相关的头文件
    或者您定义为char类型的数组,比如char name[XXX];

    2.  i++: 先引用后增加,而++i:则是先增加后引用

    i++的工作过程是这样的:用一个临时变量temp存放i的值,然后i增加1,然后返回temp
    ++i的工作过程是这样的:i先增加1, 然后再返回i的引用
    因此++i没有创建其他临时对象,所以从理论上讲++i的速度要比i++要快。


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 ckjason 2012年2月6日 2:59
    2012年2月5日 5:07
    版主
  • 1. 因为你定义的变量name的类型为char,您可以改成这样
    char name;
    -->
    string name;并#include <string>相关的头文件
    或者您定义为char类型的数组,比如char name[XXX];

    2.  i++: 先引用后增加,而++i:则是先增加后引用

    i++的工作过程是这样的:用一个临时变量temp存放i的值,然后i增加1,然后返回temp
    ++i的工作过程是这样的:i先增加1, 然后再返回i的引用
    因此++i没有创建其他临时对象,所以从理论上讲++i的速度要比i++要快。


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    那么用i++和++i会有什么分别吗?
    2012年2月5日 8:01
  • 对,++i,i++结果为何一样呢?版主

    2012年2月5日 8:45
  • 在执行++i或者i++;语句之后,i的值都会在原来的基础上增加1,他们之间的不同请参考之前的回复。


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2012年2月5日 11:10
    版主
  • 版主帮我看看头文件的帖子

    2012年2月5日 11:14