|
|
各位大大,我想请问一下如何将号码转成名
例如
int num;
printf("Please enter customer name:\n");
scanf("%d",num);
1.Simon
2.mama
3.popo
我input 1 然后显示Simon这个名?
不是printf。。我想将它变成可用在别处。。
报慊。。如果不明。。小弟刚学c++ |
|
|
|
|
|
|
|
|
|
|
发表于 2-12-2009 12:05 AM
|
显示全部楼层
这是c language 吧?
如果你想要把simon用在别处,你需要把它储存进string variable。
好像simon是5 characters, so
char customerName[15];
if(num == 1)
{
customerName = "simon";
}
else if(num == 2)
{
customerName = "mama"
}
....
printf("customer name is %s", customerName);
p.s. 如果syntax有错原谅,很久没动c language了。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 2-12-2009 12:28 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 2-12-2009 10:09 PM
|
显示全部楼层
|
记得, 在 c 里, c string, 即 char array, 不能用 =,要 copy, 的用 strcpy() |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 2-12-2009 10:24 PM
|
显示全部楼层
回复 4# onlylonly 的帖子
原来。。多谢大大。。
lecturer未教到。。。 |
|
|
|
|
|
|
|
|
|
|
发表于 2-12-2009 11:04 PM
|
显示全部楼层
c-string 用 = 其实是很多初学者常犯的错误, 以后千万要小心。
c-string 可以用 assigment operator, 即 = 是, 只有在initialization, 如- char name[10] = "mary"; //correct
- char address[200];
- address = "1, abcde"; // wrong
复制代码 你若要 copy string, 可以用 library 的 strspy, 活manual assign character
strcpy
syntax: strcpy( <copy 去哪里? > , < 重那里 copy ?> );
example- char firstName[10] = "mary";
- char secondName[10];
- strcpy( secondName, firstName); // copy mary from firstName to secondName
复制代码 OR- char name[10];
- strcpy( name, "mary";
复制代码 你若要用 manual copy char by char, 那么久用 loop 来 copy, 如 for loop- char firstName[4] = "mary";
- char secondName[4];
- for(int i = 0 ; i < 4; i++)
- secondName[i] = firstName[i];
复制代码
[ 本帖最后由 onlylonly 于 2-12-2009 11:05 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 2-12-2009 11:08 PM
|
显示全部楼层
哦, 对了, 要用 strcpy, 那么要 include string.h
即 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 3-12-2009 11:48 AM
|
显示全部楼层
多谢大大。。我会记下这些。。
还有。。
我要如何用loop 去 validate input只可以打英文字母。。 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|