问题 填空题

下列给定程序中,函数fun()的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <conio.h>
void fun(char *s)
int i,j;
for(i=0,j=0; s[i]!= ’\0’; i++)
if(s[i]>= ’0’&&s[i]<= ’9’)
/*************found**************/
s[j]=s[i];
/*************found**************/
s[j]="\0";

main()
char item[80];
clrscr();
printf("\nEnter a string: ");gets(item);
printf("\n\nThe string is:\%s\n", item);
fun(item);
printf("\n\nThe string of changing is :
\%s\n",item);

答案

参考答案:(1)错误;s[j]=s[i]; 正确:s[j++]=s[i];
(2) 错误:s[j]="\0"; 正确:s[j]=’\0’;

解析: 有循环条件if(s[i]>=’0’&&s[i]<=’9’)以及题目要求“依次取出字符串中所有的数字字符”可知,s[j]=s[i];表述错误。s[j]="\0";中是一个常识性语法错误,学习者只要在平时训练的时候注意一下就可以了。

问答题

案情:赵某2000年因非法持有毒品罪被判 3年有期徒刑。2003年4月赵某刑满释放。之后,赵某染上毒瘾。因一直没有正当工作,赵某总是处于吃了上顿断下顿的状况。2008年7月,赵某听说毒贩钱某新进了一批海洛因,便起了“黑吃黑”的念头。当晚,赵某携带其购买的仿真枪一支,潜入钱某的住处。入夜后,钱某回家。一进门,赵某即用仿真枪抵住钱某脑袋,对钱某进行殴打,之后对钱某说:“听说你新吃进了一批白粉,见者有份,也给我分点。”钱某一听赶忙说:“有事好商量。如果大哥喜欢那东西,小弟我悉数奉上,孝敬大哥就是。”后钱某打开保险柜,从里面拿出一包“白粉”(约有250克)交给赵某。见“白粉”顺利到手,赵某便离去。经鉴定,钱某构成轻伤。回到住处后,赵某打开抢来的“白粉”一尝,大呼上当,原来钱某早就担心有一天被同道抢劫,一直用一包头痛药冒充海洛因备用,他交给赵某的只不过是一包头痛粉而已。赵某眼见发财梦将破,心有不甘,遂又生一计。他连夜将其手下马仔王某(15周岁)叫来,对王某说:“你不是一直想发大财吗现在机会来了。这玩意是白色黄金,值大钱了,你帮我出去卖,卖到钱分你三成。”王某一听大喜,满口答应。二人遂将“海洛因”分成若干小包。接下来的几天,王某天天出去推销。到案发时,已卖出“海洛因”近20克。公安机关另查明,钱某曾让王某帮其出售真的海洛因50多克。
问题:

如赵某的上述行为构成犯罪,则其行为处于犯罪的何种完成状态,为什么

单项选择题