假设有数字
int number;
scanf("%d",&number);
char ch[3];
ch[0]='a';
ch[1]=number;
ch[2]='b'
我希望输出为a42b(如果用户输入42为数字)或a43b(如果是用户) 输入43作为数字)。我不希望字符值为42或43(表示输出为* b或a + b)。
答案 0 :(得分:0)
一般来说答案是你不能。虽然你可以像你一样进行任务,对于适合char
的值,你怎么知道它是一个输出的数字而不是一个字符?
我看到它的唯一方法是,如果你知道数组中的第二个字符总是是一个数字而不是一个字符,那么你可以将它打印成一个字符,一个数字和一个角色:
printf("%c%d%c\n", ch[0], ch[1], ch[2]);
答案 1 :(得分:0)
这里需要的是snprintf
,它允许您进行printf
样式格式化并将结果放在字符串中。
char ch[10];
int number;
scanf("%d",&number);
snprintf(ch,sizeof(ch),"a%db",number);