回 帖 发 新 帖 刷新版面

主题:有个问题想请教高手

本人初学C#,随便写个程序有问题
请教各位高手
using System;
class exercise
{  
    public static void Main() 
    {
    //string input1;
    char ch;
    string input1=Console.ReadLine();
    for(int i=0;i<input1.Length;i++)
        {
         if (i==0)
         {
              ch=input1[input1.Length-1];
         }
        if (i!=0)
        {
            if (input1[i-1]<'x')
            {

              ch=(char)((int)input1[i-1]+3);
            }
            else 
            {
                switch (input1[i-1])
                {
                case 'x': ch='a'; break;
                case 'y': ch='b'; break;
                case 'z': ch='c'; break;
                default : break;
                }
            }
        }
             Console.Write(ch);
        }
    
    //Console.WriteLine(input1.Length);
    Console.ReadLine();
    }
}



错误是:use of unassigned local variable 'ch'

回复列表 (共2个回复)

沙发

char ch;
之后不能保证ch被赋值(或者逻辑能保证,但编译器不检查逻辑)

如果逻辑上保证了,随便给个初值就行了

板凳

这个问题,很多人都会犯的!多做几次就好了,想想,如果以上条件都不成立,那么ch是不会被赋值的,那么试图将其输入当然会出错。

我来回复

您尚未登录,请登录后再回复。点此登录或注册