C#里怎么写一个实验变量怎么写小于它本身,就像a要小于a

其他回答(3)
A &相当于&class 语句的读取顺序& 的成员变量,所以可以在成员函数内使用
代码快的编译是从上到下的,B还没申明怎么可以使用呢
经过各位老师指点,学生好像明白了。一个类的成员,都是全局变量,一个方法函数内的变量都是局部变量。一个全局变量的声明,可以放在方法函数的后面,是因为:当我们的编译器进行编译时,就需要new一个对象实例,这时类的成员都被初始化赋值(否则赋一个null值),当我们调用方法时,方法内含有的类成员变量早都声明初始化了。最终还是符合那句话&变量先赋值初始化,再使用&
清除回答草稿
&&&您需要以后才能回答,未注册用户请先。C#中,ab均是int变量,a是已知变量,使b=a-1,要怎么写?如果应用到while语句中要怎么写?_百度知道
C#中,ab均是int变量,a是已知变量,使b=a-1,要怎么写?如果应用到while语句中要怎么写?
我有更好的答案
using&Snamespace&ConsoleApplication1{&&&&class&Program&&&&{&&&&&&&&static&void&Main(string[]&args)&&&&&&&&{&&&&&&&&&&&&int&a&=&1;&&&&&&&&&&&&//&循环&&&&&&&&&&&&while(a&&=&100)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&//&获取b的值&&&&&&&&&&&&&&&&int&b&=&GetValueB(a);&&&&&&&&&&&&&&&&Console.WriteLine(&a={0},&b={1}&,&a,&b);&&&&&&&&&&&&&&&&a++;&&&&&&&&&&&&}&&&&&&&&&&&&Console.ReadLine();&&&&&&&&}&&&&&&&&static&int&GetValueB(int&a)&&&&&&&&{&&&&&&&&&&&&//&a为已知数,返回a-1&&&&&&&&&&&&return&a&-&1;&&&&&&&&}&&&&}}
非常谢谢你的回答!~我是个菜鸟很多不懂,想问一个跟题目无关的问题,怎么样知道可变数组的大小?我想读数组的最后两个数,但是数组大小不定。谢谢啦~我会提高悬赏的~
//定义一个数组int[]&a&=&new&int[]&{1,2,3,4,5,7};//数组的大小(即数组中元素的个数)可以用a.Length获取int&Count&=&a.Length//&获取数组最后一个元素int&x&=&a[a.Length&-&1];//&获取数组倒数第二元素int&y&=&a[a.Length&-&2];注意:数组元素的编号是从0开始的,所以,最后一个元素的编号为 a.Length -1,倒数第二为 a.Length - 2,以此类推。另外,在C#中,数组元素的数量天生就是可变的,例如int&a[]&=&new&int[]{1,2,3,4};&//a数组有四个元素a&=&new&int[]{1,2,3,4,5,6,7,8,9}&//a数组现在有9个元素无论怎样,都可以用a[a.Legth - 1]取出最后一个元素的值;用a[a.Legth - 2]取出倒数第二个元素的值……
采纳率:87%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C# 如何将 listbox控件 中的数值赋值给一个变量a 三路知识网
C# 如何将 listbox控件 中的数值赋值给一个变量a
来源:网络收集 & 发布时间: &
假设你的ListBox绑定到一个数据源,设定了TextMember和ValueMember,那么如果对某个选中的数值赋值给a,请: object a = ListBox1.SelectedV 一般情况下,建议这样赋值:string a = ListBox1.Items[0开始的索引].ToString();或者:string a = ListBox1.SelectedItem.ToString();
本文地址:https://www.slzays.com/3768.html
所有问题分类阿里巴巴面试题引起的疑问 : #define 定义swap(A,B);【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:583,593贴子:
阿里巴巴面试题引起的疑问 : #define 定义swap(A,B);收藏
先晾着,回去再写。
首先引入交换两个整型变量值的3方法:int a,b;1. {int temp=a; a=b; b=}这种方法最常见,也是最不容易出错的。2. {a = a+b; b = a-b; a = a-b;}这种方法少了一个中间变量,缺点是有可能溢出。3. {a ^= b^= a ^= }这种方法速度快也不需第三个变量。
第三种方法,swap(A,A)
问题产生了:#defien swap(A,B) 最严重的问题就是不知道A,B的数据类型: 整型? 浮点型 ? 还是 struct 各种基本类型的组合? 甚至可能A,B的数据类型都不同。方法1.问题就是怎样确定 temp的类型 ?方法2.怎样才能确定A,B能相加并且加减互逆 ?方法3.^针对整型,局限性太大。 
于是楼主想了另一种方法:引入中间变量void * 若A,B的类型相同(只是靠简单的比较size大小判断是否相同)&-这里的bug 楼主实在无力取出A,B的地址,直接以temp指向的内存为中间介质实现交换。代码如下:#include &memory.h&#include &stdlib.h&#define swap(A,B) \{
if(sizeof(A) == sizeof(B)){\
int sizeAB = sizeof(A);
void *temp = malloc(sizeAB);
memcpy(temp ,&(A) ,sizeAB);
memcpy(&(A) ,&(B) ,sizeAB);
memcpy(&(B) ,temp ,sizeAB);
free(temp);
不明觉厉,先收藏,待日后挖坟。~~~~尼玛这下不怕十五字了。啦啦啦啦啦啦。。
#include &stdio.h&#include &memory.h&#include &stdlib.h&#define swap(A,B) \{
if(sizeof(A) == sizeof(B)){\
int sizeAB = sizeof(A);
void *temp = malloc(sizeAB);
memcpy(temp ,&(A) ,sizeAB);
memcpy(&(A) ,&(B) ,sizeAB);
memcpy(&(B) ,temp ,sizeAB);
free(temp);
}\\}struct Test{};void show(struct Test *t){
printf("%d %d %f %c\n",t-&x ,t-&y , t-&d ,t-&ch);}int main() {
char a[10] = "this a!";
char b[10] = "this b!";
swap(a,b);
printf("%s\n%s\n",a,b);
struct Test t1 = {10 ,20 , 34.5 , '1'},
t2 = {20 ,10 , 35.4 , '2'};
swap(t1,t2);
show(&t1);
show(&t2);
return 0;}跌跌撞撞实现了在不知道类型的情况下交换变量值.---end .期待楼下提供其他方法或尽情吐槽吧。
define居然用到标准库,直接定一个1字节的交换区字节交换吧
直接memcpy不可取比如struct hold_self {
hold_self *
hold_self() : self(this) {}};
果断先收藏之
未出现错误:#include &stdio.h&struct hold_self {
hold_self *
hold_self() : self(this) {}};int main() {
struct hold_self x ,y;
printf("%p ,%p\n",x.self ,y.self);
swap(x ,y);
printf("%p ,%p\n",x.self ,y.self);
return 0;}
c语言只能呵呵
指针。。。。
这个∧什么意思
从来只看,没回复过,这个帖几年之后还能续写不
讲真,这种面试题面试官不觉得很无聊么...
////////////////////////////////////////////// 小结一下 ///////////////////////////////////////////首先引入交换两个整型变量值的3方法:int a,b;1.#define swap1(A,B)
{int temp=a; a=b; b=}这种方法最常见,也是最不容易出错的。2.#define swap2(A,B)
{a = a+b; b = a-b; a = a-b;}这种方法少了一个中间变量,缺点是有可能溢出。3.#define swap3(A,B)
{a ^= b^= a ^= }这种方法速度快也不需第三个变量。kcjby:第三种方法,swap(A,A)认不倒你: 变成0了 !问题产生了:#defien swap(A,B) 最严重的问题就是不知道A,B的数据类型: 整型? 浮点型 ? 还是 struct 各种基本类型的组合? 甚至可能A,B的数据类型都不同。方法1.问题就是怎样确定 temp的类型 ?方法2.怎样才能确定A,B能相加并且加减互逆 ?方法3.^针对整型,局限性太大。 于是楼主想了另一种方法:引入中间变量void * 若A,B的类型相同(只是靠简单的比较size大小判断是否相同)&-这里的bug 楼主实在无力取出A,B的地址,直接以temp指向的内存为中间介质实现交换。代码如下:#include &memory.h&#include &stdlib.h&#define swap4(A,B) \{
if(sizeof(A) == sizeof(B)){\
int sizeAB = sizeof(A);
void *temp = malloc(sizeAB);
memcpy(temp ,&(A) ,sizeAB);
memcpy(&(A) ,&(B) ,sizeAB);
memcpy(&(B) ,temp ,sizeAB);
free(temp);
}\\}////////////////////////////////////////////// 实验一下 ///////////////////////////////////////////#include &stdio.h&#include &stdlib.h&#include &string.h&#define swap1(a,b)
{int temp=a; a=b; b=}#define swap2(a,b)
{a = a+b; b = a-b; a = a-b;}#define swap3(a,b)
{a ^= b^= a ^= }#define swap4(a,b) \{
if(sizeof(a) == sizeof(b)){\
int sizeAB = sizeof(a);
void *temp = malloc(sizeAB);
memcpy(temp ,&(a) ,sizeAB);
memcpy(&(a) ,&(b) ,sizeAB);
memcpy(&(b) ,temp ,sizeAB);
free(temp);
}\\}int test4(){
int a=12,temp=45,b;
printf(&a=%d temp=%d\n&,a,temp);
swap1(a,temp); /* 宏参的值与宏内变量重名了 */
printf(&swap1(a,temp)\n&);
printf(&a=%d temp=%d\n&,a,temp);
printf(&\n&);
a = -1; /* 0xffffffff */
printf(&a=%d b=%d\n&,a,b);
swap2(a,b); /* 宏内加减时确实溢出了,但溢出了两次,使得结果正确 */
printf(&swap2(a,b)\n&);
printf(&a=%d b=%d\n&,a,b);
printf(&\n&);
printf(&a=%d\n&,a);
swap2(a,a); /* swap2 与 swap3 很相似,此场景下a值也是0 */
printf(&swap2(a,a)\n&);
printf(&a=%d\n&,a);
printf(&\n&);
printf(&a=%d\n&,a);
swap3(a,a); /* kcjby:第三种方法,swap(A,A)
认不倒你: 变成0了 ! */
printf(&swap3(a,a)\n&);
printf(&a=%d\n&,a);
printf(&\n&);
exit(0);}int main(int argc,char **argv){
test4();}////////////////////// 运行结果 //////////////////////a=12 temp=45swap1(a,temp)a=12 temp=45a=-1 b=10swap2(a,b)a=10 b=-1a=10swap2(a,a)a=0a=10swap3(a,a)a=0Press any key to continue////////////////////////////////////////////// 修改一下 ///////////////////////////////////////////根据这几个连接中的内容略微修改一下#define M_swap1(a,b) \do {if((a)!=(b)) {long a##b;a##b=(long)(a);(a)=(b);(b)=(long)a##b;}} while(0) #define M_swap2(a,b) \do {if((a)!=(b)) {(a)=(a)+(b);(b)=(a)-(b);(a)=(a)-(b);}} while(0) /* over flow doesn't matter! */#define M_swap3(a,b) \do {if((a)!=(b)) {(a)=(a)^(b);(b)=(a)^(b);(a)=(a)^(b);}} while(0) #define M_swap4(a,b) \do {\
if((a)!=(b) && sizeof(a)==sizeof(b)) {\
int l##a##b=sizeof(a); \
void *p##a##b=malloc(l##a##b); \
if (!p##a##b) \
memcpy(p##a##b,&(a),l##a##b); \
memcpy(&(a),&(b),l##a##b); \
memcpy(&(b),p##a##b,l##a##b); \
free(p##a##b); \
}\} while(0) #define M_swap5(t,a,b) do {if((a)!=(b)) {t a##b;a##b=(a);(a)=(b);(b)=a##b;}} while(0) ////////////////////////////////////////////// 总结一下 ///////////////////////////////////////////swap1 swap2 swap3 只适用于整型,如char short int long以及加了前缀unsigned
这三者运行结果等价,性能差异,有,忽略吧。swap4 适用于所有情况,如struct union arrayswap5 改变了限制条件,在宏参中加入了a b的类型参数t,适用于整型和float double宏内变量如long a##b;虽不雅观,避免了与宏参的值重名,管用!宏参的值与宏内变量重名,在类型相同时编译不会有警告,运行出错不好排查,多防着点。以上几个宏都有,宏参a b在宏内出现了多次,形似这样使用宏macro(a++,b^2)有时是会有麻烦的,所以尽量避免宏参的值是表达式,直接使用变量名比较靠谱。引用的连接中有提到,用do{}while(0)替代{},确实好用,充分发挥了它后面必须& ; &的语法,用do{}while(0)替代goto,挺开眼界的,个人觉得不实用。C语言最实用的几点就是指针(函数指针可以说是代码指针,指向代码在内存中的地址,其他的指针可以说是数据指针,指向数据在内存中的地址)、goto、宏配do{}while(0),这么好用的goto别乱用,不让用真扯淡。另外,switch配不break,有时很有用。////////////////////// switch配不break //////////////////////int init1() {return 0;}int init2() {return 0;}int init3() {return 0;}void finish1() {}void finish2() {}void finish3() {}int demo1(){
int b=0,r=-1;
r = init1();
r = init2();
r = init3();
r = 0;err:
switch (b) {
case 3: finish3();
case 2: finish2();
case 1: finish1();
}}是好用不好用?还是用好用不好?与宏何干!与goto何干!
看的眼花缭乱的.有意思
////////////////////////////////////////////// 小结一下 ///////////////////////////////////////////#include &memory.h&#include &stdlib.h&#define swap4(A,B) \{ \if(sizeof(A) == sizeof(B)){\int sizeAB = sizeof(A); \void *temp = malloc(sizeAB); \memcpy(temp ,&(A) ,sizeAB); \memcpy(&(A) ,&(B) ,sizeAB); \memcpy(&(B) ,temp ,sizeAB); \free(temp); \}\\}sleepwalking: 这么一坨memcpy看着都吓人。。。效率得是有多低。。。加一个数据类型作为参数吧,用的时候也能起到提醒作用kcjby: define居然用到标准库,直接定一个1字节的交换区字节交换吧认不倒你: 1字节太麻烦////////////////////////////////////////////// 修改一下 ///////////////////////////////////////////为了去掉 #include &memory.h&等,并参照以下内容。。。(此处有三个连接,不让发出来!?)略微修改一下#define M_swap6(t,a,b) \
static int memswap(void *src,void *dst,size_t l)\
char *d=(char *)dst,*s=(char *)src,c;\
size_t i=0;\\
if (!s || !d || !l) return 0;\
if (s==d) return 1;\\
if (s&d) while (l--) c = d[l],d[l] = s[l],s[l] =\
else while (l--) c = d[i],d[i] = s[i],s[i] = c,i++;\\
return 1;\
memswap(&(a),&(b),sizeof(t));#define M_swap7(t,a,b) \do {\
char *d##a##b=(char *)&(b),*s##a##b=(char *)&(a),c##a##b;\
size_t i##a##b=0;\
size_t l##a##b=sizeof(t);\\
if (!s##a##b || !d##a##b || !l##a##b || s##a##b==d##a##b)\\
if (s##a##b&d##a##b) while (l##a##b--) c##a##b = d##a##b[l##a##b],d##a##b[l##a##b] = s##a##b[l##a##b],s##a##b[l##a##b] = c##a##b;\
else while (l##a##b--) c##a##b = d##a##b[i##a##b],d##a##b[i##a##b] = s##a##b[i##a##b],s##a##b[i##a##b] = c##a##b,i##a##b++;\} while(0)/* swap6 中的函数 memswap , 在 swap7 中表现为这个样,宏参 t 的引入赋予了 a b 在宏的实现中只出现一次的能力。*//* 上一贴中的 M_swap4 的 if((a)!=(b) && sizeof(a)==sizeof(b)) 应该是 &(a)!=&(b) */#define M_swap4(a,b) \do {\
char *d##a##b=(char *)&(b),*s##a##b=(char *)&(a),c##a##b;\
size_t i##a##b=0;\
size_t l##a##b=sizeof(a);\
if (l##a##b != sizeof(b))\\
if (!s##a##b || !d##a##b || !l##a##b || s##a##b==d##a##b)\\
if (s##a##b&d##a##b) while (l##a##b--) c##a##b = d##a##b[l##a##b],d##a##b[l##a##b] = s##a##b[l##a##b],s##a##b[l##a##b] = c##a##b;\
else while (l##a##b--) c##a##b = d##a##b[i##a##b],d##a##b[i##a##b] = s##a##b[i##a##b],s##a##b[i##a##b] = c##a##b,i##a##b++;\} while(0)/* M_swap4 中没有表示数据类型的宏参 t ,很难做到 a b 在宏的实现中只出现一次。 */////////////////////////////////////////////// 总结一下 ///////////////////////////////////////////以上内容都是,就 “认不倒你” 提到的内容及回复的内容,进行的细节处理,具体有:a.宏实现依赖标准库头文件,实现memswap,#include &stdlib.h&等消除了b.宏参在宏实现中出现多次,引入宏参t,由 swap(a,b)到swap(t,a,b),只出现一次做到了c.宏参的值与宏内变量重名,用 var##a##b 避免了。d.宏实现swap2中的加减溢出了,结果是正确的,溢出了不要紧。e.宏调用swap(a,a);结果异常,通过检查绕过了。关于swap到此,之前提及的问题,都已绕过,或验证构不成问题,暂告一段落。啰嗦了这么这么多,最后关于宏,前不久这么用过,也许有参考价值。////////////////////////////////////////////// 关于宏 ///////////////////////////////////////////#define demo2(b,r,f,a) \do{\
switch (b) {\
printf(&0x%08x=%s%s;\n&,r,#f,#a);\}while(0)static void *b1_test(unsigned char *p,unsigned long *l){
if (l) *l = !!p;
printf(&%s\n&,&b1_test&);}static void *b2_test(unsigned char *p,unsigned long *l){
if (l) *l = !!p;
printf(&%s\n&,&b2_test&);}static void *b3_test(unsigned char *p,unsigned long *l){
if (l) *l = !!p;
printf(&%s\n&,&b3_test&);}static int g_static int get_choice(){
return g_}static void set_choice(int b){
g_type =}void *api_test(unsigned char *p,unsigned long *l){
b = get_choice();
demo2(b,r,test,(p,l));
/* 第四个宏参 */}static int IsBigEndian(){
return !*(unsigned char *)&i;}static int test3(){
unsigned char *p=NULL;
int t=0x0a0b0c0d;
// /* 在64位CPU上,编译debug版,变量 t 可能很倒霉 */
set_choice(b);
printf(&Bits=%d %s\n&,sizeof(void*)&&3,IsBigEndian()?&Big-Endian&:&Little-Endian&);
printf(&t=0x%08x\n&,t);
r = api_test(p,&l);
printf(&t=0x%08x\n&,t);
printf(&return value indicate %s\n&,!r?&failed&:&success&);
@126/blog/static//@ 符前的空格去掉
登录百度帐号innerhtml 里面的html标记&A HREF=&&&如何写C#变量?
作者:用户
浏览:358 次
innerhtml输出的时候HTML标记比如&ahref="这里面怎么写能存放C#里的变量?我想放content3,路径是~\file\content3"&之前上传文件用到的文件路径这
问题描述inner输出的时候HTML标记比如&ahref="这里面怎么写能存放C#里的变量?我想放content3,路径是~\file\content3"&之前上传文件用到的文件路径这么写的hpf.SaveAs(Server.MapPath("~\file\")+filename);下载就是用innerhtml输出&AHREF="下载地址"&&/A&前台.aspx&ulid="downLoadList"runat="server"&&/ul&.cswhile(rst.Read()){content2=rst["rp_date"]==DBNull.Value?DateTime.Now.ToShortDateString():((System.DateTime)rst["rp_date"]).ToShortDateString();content3=rst["rp_link"].ToString();content=content3+"&&&"+"("+content2+")";downLoadList.InnerHtml="&li&&ahref="这里"&"+content+"&/a&&/li&"+downLoadList.InnerH}解决方案解决方案二:当我还是一个三角的时候,提了一个40分问题,但是没有一个人回答,我当时就在想,如果谁能回答问题,不管回什么,我都把分全部给他。这样我就可以结贴了,因为我不想做一个不结贴的人。所以,当我看到一个三角的提问题但是没有人回答的时候,我很同情你们的遭遇...帮你们顶一下。我也是从一个三角走过来的。解决方案三:&AHREF="&%=content3%&"&&/A&解决方案四:拼进去不行么?downLoadList.InnerHtml="&li&&ahref='"+content3+"'&"+content+"&/a&&/li&"+downLoadList.InnerH
【云栖快讯】云栖社区技术交流群汇总,阿里巴巴技术专家及云栖社区专家等你加入互动,老铁,了解一下?&&
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
40+云计算产品,6个月免费体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
云服务器9.9元/月,大学必备

我要回帖

更多关于 环境变量path怎么写 的文章

 

随机推荐